Skip to main content

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 product
  • product_teardown(self): the corresponding testdown method There are called around each subTest.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.testutils-20230109.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

cs.testutils-20230109-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file cs.testutils-20230109.tar.gz.

File metadata

  • Download URL: cs.testutils-20230109.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for cs.testutils-20230109.tar.gz
Algorithm Hash digest
SHA256 2ba7674970241c290fb477e1bbb37b09f84bd1ef09bc572079a5a15b739c38ab
MD5 7e18ba70c3d6740d45cebda0b83fd099
BLAKE2b-256 984fe522e5114ac88cf34519b7ad9d5c5932896139765b93d5ee3e2e3403a134

See more details on using hashes here.

File details

Details for the file cs.testutils-20230109-py3-none-any.whl.

File metadata

File hashes

Hashes for cs.testutils-20230109-py3-none-any.whl
Algorithm Hash digest
SHA256 6c940b99c728e4b284cf1be64521c1b6827c5a0993e5e53d2926e84a8245aa3e
MD5 a4751aa1b168a572e71ae9c518c99010
BLAKE2b-256 2f9c83b1b1d8e2490a07ff1d8100470e0f76797984b8a274d0c96525de7987dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page