Hacks to assist with testing.
Project description
Hacks to assist with testing.
Latest release 20230109:
- @product_test decorator for running test matrices.
- SetupTeardownMixin providing unittest setUp/tearDown from setupTeardown context manager method.
Function product_test(*da, **dkw)
Decorator for test methods which should run subTests
against the Cartesian products from params
.
A specific TestCase would define its own decorator and apply it throughout the suite. Here is an example from cs.vt.datadir_tests:
def multitest(test_method): return product_test( test_method, datadirclass=[DataDir, RawDataDir], indexclass=[ indexclass_by_name(indexname) for indexname in sorted(indexclass_names()) ], hashclass=[ HASHCLASS_BY_NAME[hashname] for hashname in sorted(HASHCLASS_BY_NAME.keys()) ], )
whose test suite then just decorates each method with @multitest
:
@multitest
def test000IndexEntry(self):
....
Note that because there must be setup and teardown for each product,
the TestCase class may well have empty setUp
and tearDown
methods
and instead is expected to provide:
product_setup(self,**params)
: a setup method taking keyword arguments for each productproduct_teardown(self)
: the corresponding testdown method There are called around eachsubTest
.
Class SetupTeardownMixin
A mixin to support a single setupTeardown()
context manager method.
Release Log
Release 20230109:
- @product_test decorator for running test matrices.
- SetupTeardownMixin providing unittest setUp/tearDown from setupTeardown context manager method.
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
Hashes for cs.testutils-20230109-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c940b99c728e4b284cf1be64521c1b6827c5a0993e5e53d2926e84a8245aa3e |
|
MD5 | a4751aa1b168a572e71ae9c518c99010 |
|
BLAKE2b-256 | 2f9c83b1b1d8e2490a07ff1d8100470e0f76797984b8a274d0c96525de7987dd |