Python Testing Toolkit
Pytest fixtures, factories, mocking patterns, property-based testing, and CI integration for comprehensive test suites.
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 27 files
📖 Documentation Preview README excerpt
Python Testing Toolkit
A comprehensive, battle-tested collection of pytest patterns, reusable fixtures, test-data factories, mocking utilities, and CI pipeline configurations. Built for Python developers who want reliable, maintainable, and fast test suites.
What's Inside
| Category | Files | Description |
|---|---|---|
| Guides | 5 deep-dive documents | Pytest mastery, fixtures & factories, mocking patterns, property-based testing, CI integration |
| Toolkit Source | 5 Python modules | Reusable fixtures, factory builders, mock helpers, custom assertions, fluent builders |
| Examples | 4 annotated test files | API testing, database testing, property-based testing, conftest patterns |
| CI Configs | 2 pipeline files | GitHub Actions workflow, pre-commit hooks |
| Project Config | pyproject.toml | Pytest + coverage settings tuned for real projects |
Quick Start
# 1. Copy the toolkit into your project
cp -r src/testing_toolkit/ your_project/tests/toolkit/
# 2. Copy the example conftest for reference
cp examples/example_conftest.py your_project/tests/conftest.py
# 3. Copy CI configs
cp ci/github-actions-pytest.yml your_project/.github/workflows/test.yml
cp ci/pre-commit-config.yaml your_project/.pre-commit-config.yaml
# 4. Add pytest config to your pyproject.toml (or copy ours as a starting point)
cat pyproject.toml
# 5. Run the example tests to verify everything works
pytest examples/ -v
Table of Contents
Guides
1. [Pytest Mastery Guide](guides/pytest-mastery-guide.md) — Architecture, fixtures deep-dive, scopes, parametrization, markers, plugin system, conftest layering
2. [Fixtures & Factories](guides/fixtures-and-factories.md) — Fixture patterns, test-data builders, deterministic fake data, database/session fixtures
3. [Mocking Patterns](guides/mocking-patterns.md) — unittest.mock, monkeypatch, patching strategies, autospec, time freezing, HTTP response mocking
4. [Property-Based Testing](guides/property-based-testing.md) — Hypothesis strategies, stateful testing, shrinking, integrating with pytest
5. [CI Integration](guides/ci-integration.md) — GitHub Actions matrix builds, coverage gates, xdist parallelization, flaky test detection
Source Modules
- [testing_toolkit/factories.py](src/testing_toolkit/factories.py) — Deterministic fake data generators and model factories (stdlib only)
- [testing_toolkit/fixtures.py](src/testing_toolkit/fixtures.py) — Reusable pytest fixtures: temp dirs, frozen clock, fake env, in-memory store
- [testing_toolkit/mocks.py](src/testing_toolkit/mocks.py) — Mock helpers, spy objects, fake HTTP client with response recording
- [testing_toolkit/assertions.py](src/testing_toolkit/assertions.py) — Custom assertion helpers with rich failure messages
- [testing_toolkit/builders.py](src/testing_toolkit/builders.py) — Fluent test-data builders with chainable API
Examples
- [test_api_example.py](examples/test_api_example.py) — Full API test suite demonstrating fixtures, mocks, parametrization
- [test_database_example.py](examples/test_database_example.py) — Database testing with transactions, rollback fixtures, factory data
- [test_property_based_example.py](examples/test_property_based_example.py) — Property-based tests with Hypothesis
- [example_conftest.py](examples/example_conftest.py) — Annotated conftest showing layered fixture architecture
CI & Config
... continues with setup instructions, usage examples, and more.