Skip to main content

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!"

Metadata

Release files for pytest-common-subject 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-common-subject 1.1.0
File Size Uploaded
pytest_common_subject-1.1.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-common-subject 1.1.0
File Interpreter ABI Platform
pytest_common_subject-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.1 kB

Release files / pytest_common_subject-1.1.0.tar.gz

Download URL pytest_common_subject-1.1.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1b7c4d92eeabd842d5a339b16c7325c8bc8eb19e709fcbbdb0d0f10565a0cc26
BLAKE2b-256 checksum
How to use checksums
410081e2ea2ac7cd23bc2b96119419026813c13221e3470b48452d78b9871438
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.14 Linux/5.13.0-52-generic

Release files / pytest_common_subject-1.1.0-py3-none-any.whl

Download URL pytest_common_subject-1.1.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe952950a127382a183293c1798cfea0f78afb312c06273a92581d7ba4c8a64a
BLAKE2b-256 checksum
How to use checksums
4a7f922b1f9f17c28169fbbacbc3e99e7672aaf70d862ae4f671cf91d77d7d40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.14 Linux/5.13.0-52-generic

Release history Release notifications | RSS feed

1.1.2

2 release files

1.1.1

2 release files

This release

1.1.0 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page