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.2.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_common_subject-1.1.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest_common_subject-1.1.2.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/6.8.0-85-generic

File hashes

Hashes for pytest_common_subject-1.1.2.tar.gz
Algorithm Hash digest
SHA256 7692ab6613e9d15498af3ad9551455d2983a512150a7b34ab16ccdcc76154323
MD5 5b7d84cc769fd31099166777e64b0a24
BLAKE2b-256 48e1096533cf47674ad61a491a2025f7dd615ece61e15d9a115a0dabaffd7fd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytest_common_subject-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3810b7445dc8b9ff732f6d9d898d8c7aa4939911eba6e365c68ad41f5c8c1c49
MD5 fe6a840f1bd885dac5efc909d7021a82
BLAKE2b-256 84a9648451886a16515dd36b30bb3b204c2b81339fe502966a1608e003881406

See more details on using hashes here.

Supported by

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