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
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.
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.
Source Distribution
Built Distribution
Close
Hashes for unittest_additions-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cc1ded45cdcdc3eca6c0ab12526b6049f58dccb4a2a54af1283623da605eb6c |
|
MD5 | a521edd5875113f665cc17f06a11fcfc |
|
BLAKE2b-256 | 1594e80573660f6f2234af44bccf24765e8f7c57e4f92854416c506a43a228f1 |