Skip to main content

pytest framework for testing different aspects of a common method

Project description

pytest-common-subject

pytest-common-subject PyPI version pytest-common-subject PyPI pyversions pytest-common-subject PyPI license

pytest-common-subject is a "framework" for organizing tests to reduce boilerplate while writing, improve skimmability when reading, and bolster parallelization when executing the suite.

To utilize this framework, we first choose a single function that our group of tests will all call — in other words, an entry point, or a common subject. This function will be automatically called before each of our tests, with args and kwargs that can be customized by overriding fixtures — enabling child test classes to make HTTP requests as a different user, or to use a different cache backend, or to change the value of a monkeypatched method.

The return value of the chosen function will be passed as a fixture to each test. To reap the full benefits of the framework, create separate tests to verify different aspects of the return value. Was the response status code a 200? Did the response contain the expected data? Were the expected rows created in the database? By using separate tests for each of these aspects, we can pinpoint and correct multiple bugs at once, instead of getting sucked into a fix-test-fix cycle with its chorus of "oh, bother, not again!"

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

pytest_common_subject-1.1.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

pytest_common_subject-1.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file pytest_common_subject-1.1.0.tar.gz.

File metadata

  • Download URL: pytest_common_subject-1.1.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/5.13.0-52-generic

File hashes

Hashes for pytest_common_subject-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1b7c4d92eeabd842d5a339b16c7325c8bc8eb19e709fcbbdb0d0f10565a0cc26
MD5 0962f62bf9ff2ee7ad106a4824483408
BLAKE2b-256 410081e2ea2ac7cd23bc2b96119419026813c13221e3470b48452d78b9871438

See more details on using hashes here.

File details

Details for the file pytest_common_subject-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_common_subject-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe952950a127382a183293c1798cfea0f78afb312c06273a92581d7ba4c8a64a
MD5 8eb951e7e854821e9f85d82df9a7e5a6
BLAKE2b-256 4a7f922b1f9f17c28169fbbacbc3e99e7672aaf70d862ae4f671cf91d77d7d40

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