Additional features to extend python unittest and mock.
Project description
unittest_additions
Helpful extras built to make python unittesting easier.
pip install unittest-additions
Features
- Additional Asserts
- Temporary Files
- Runtime Timer
mock_open
Line Iteration
Example Uses
Below are some example uses for some of the features.
Temporary Files
def test_using_temp_file(self): with TestFile(TEST_FILE, TEST_DATA) as tf: # File TEST_FILE now exists with TEST_DATA inside. tf.append(MORE_TEST_DATA) # File TEST_FILE now has TEST_DATA with MORE_TEST_DATA appended. # File TEST_FILE no longer exists.
RunTimer
A RunTimer is provied to help compare run times of code.
with RunTimer() as t: t0 = t.split() t1 = t.split() t2 = t.overall()
mock_open Line Iteration
When mocking a file using mock_open
, "code-under-test" using line iteration (as in the example below) will not work as expected. (do_something
will not be called.)
def my_function(fn): with open(fn, 'r') as f: for l in f: do_something(l)
To enable line iteration you can use add_line_iter_to_mock_open
.
@patch('builtins.open', new_callable=mock_open, read_data='line 0\nline 1\n') def test_function(self, open_mock): add_line_iter_to_mock_open(open_mock) # Line iteration over the mock_open read_data will now work.
Additional Asserts
To use the additional asserts, add the mixin to your TestCase
class.
class MixedTestCase(TestCase, AdditionalAssertsMixin): def test_a_test: self.assertIsEmpty([]) self.assertIsNotEmpty(('hello',))
The new asserts are:
Method | Checks that ... |
---|---|
assertIsEmpty(c) |
len(c) == 0 |
assertIsNotEmpty(c) |
len(c) > 0 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size unittest_additions-0.1.3-py3-none-any.whl (3.9 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size unittest_additions-0.1.3.tar.gz (2.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for unittest_additions-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbe6b8f87b22b96529707ba445b183a3a083a4107bb275663068b52ded4a0ec3 |
|
MD5 | 1dd5710c24d1c5893ba057f95c66976a |
|
BLAKE2-256 | 0fe314595ccd4f3cd02eebc23910ad047e673b632f44b51447f0be6c047e38ff |