Skip to main content

Docs PyPI Git

Testfixtures is a collection of helpers and mock objects that are useful when writing automated tests in Python.

The areas of testing this package can help with are listed below:

Comparing, asserting equality and explaining differences

The compare function gives readable feedback when results aren’t as expected, with clear diffs for deeply nested data structures and for objects that don’t normally support comparison. This includes first-class support for pandas and polars dataframes, numpy arrays and pydantic models. Flexible placeholder objects and matchers such as like, sequence, generator, Comparison, RoundComparison, RangeComparison, TextComparison and SequenceComparison let you assert that only part of a value matters, that a number is within a range or rounded to a precision, or that a string matches a pattern.

Mocking out objects and methods

Replacer makes it easy to swap out objects, classes or individual methods for the duration of a test, restoring the originals automatically when it ends. You point them at the thing being replaced directly rather than at a dotted string, so your type checker verifies the target and the replacement survives refactoring. replace_on_class, replace_in_module and replace_in_environ cover common cases such as methods, module globals and environment variables.

Mocking dates and times

mock_datetime, mock_date and mock_time are drop-in replacements for the datetime and time APIs, for testing code that depends on the current date or time. They cover the thorny issues of timezones, non-uniform sequences of mock time increments, explicit ticking and freezing a point in time so you don’t have to invent them from scratch.

Testing subprocesses

MockPopen lets you test code that uses subprocess.Popen without running real processes.

Testing command-line scripts

Command drives entry-point scripts end to end and checks their output, logging, mock calls and return code.

Testing logging

LogCapture captures log messages so you can check what was logged is what you expected, including from the loguru and structlog libraries.

Testing stream output

OutputCapture captures stream output, such as that from print calls or even writes made directly to file descriptors, and makes it easy to assert about.

Testing with files and directories

TempDirectory gives you a sandboxed directory to work in. It makes it easy to read and write files, serialise and deserialise structured data in formats such as JSON, YAML and TOML, create directory trees, and assert on the contents of both individual files and whole directories.

Testing exceptions and warnings

ShouldRaise, ShouldAssert, ShouldWarn and ShouldNotWarn check that a particular exception is raised, that an assertion fails with a particular message, or that a warning is issued, down to the parameters involved.

Testing when using Django

Helpers for comparing instances of Django models.

Testing when using Twisted

Helpers for making assertions about logging when using Twisted.

Release files for testfixtures 12.3.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 testfixtures 12.3.0
File Size Uploaded
testfixtures-12.3.0.tar.gz 201.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for testfixtures 12.3.0
File Interpreter ABI Platform
testfixtures-12.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 271.0 kB

Release files / testfixtures-12.3.0.tar.gz

Download URL testfixtures-12.3.0.tar.gz
Size 201.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d807ceb9bdd6ea7cc0663370dd5568339056b35dc15c26effd1ae267e323acf1
BLAKE2b-256 checksum
How to use checksums
114db1c5fae372cd46b7bc1ec1dbca6efecaef8fe1e4edad203cc6e36cd5eafd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / testfixtures-12.3.0-py3-none-any.whl

Download URL testfixtures-12.3.0-py3-none-any.whl
Size 69.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da013e07f1e850b4d92ea6045c4a71f49d6ddcaab11c8b29f65ea38ff678aee8
BLAKE2b-256 checksum
How to use checksums
1c7ccf6a4bd936b0d8377992a07fe94ae9f6844e728fcfaa006b7ff9e059a038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

12.3.0 This release

2 release files

12.2.0

2 release files

12.1.0

2 release files

12.0.1

2 release files

12.0.0

2 release files

10.0.0

2 release files

9.2.0

2 release files

9.1.0

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.3.0

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.2.2

2 release files

7.2.1

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.4

2 release files

7.0.3

2 release files

7.0.2

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.18.4

2 release files

6.18.3

2 release files

6.18.2

2 release files

6.18.1

2 release files

6.18.0

2 release files

6.17.1

2 release files

6.17.0

2 release files

6.14.1

2 release files

6.14.0

2 release files

6.13.1

2 release files

6.13.0

2 release files

6.12.1

2 release files

6.11.0

2 release files

6.10.3

2 release files

6.10.2

2 release files

6.10.0

2 release files

6.9.0

2 release files

6.8.2

2 release files

6.8.1

2 release files

6.8.0

2 release files

6.7.1

2 release files

6.7.0

2 release files

6.6.2

2 release files

6.6.1

2 release files

6.6.0

2 release files

6.5.2

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.3

2 release files

6.4.2

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.4.0

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.14.3

2 release files

4.14.2

2 release files

4.14.1

2 release files

4.14.0

2 release files

4.13.3

2 release files

4.12.0

2 release files

4.11.0

2 release files

4.10.0

2 release files

4.9.1

2 release files

4.9.0

2 release files

4.8.0

2 release files

4.7.0

2 release files

4.6.0

2 release files

4.5.1

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.3

2 release files

4.3.2

1 release file

4.3.0

1 release file

4.2.0

1 release file

4.1.2

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.2

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.1.0

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.3.5

1 release file

2.3.4

1 release file

2.3.3

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.12.0

1 release file

1.11.3

1 release file

1.11.2

1 release file

1.11.1

1 release file

1.11.0

1 release file

1.10.0

1 release file

1.9.2

1 release file

1.9.1

1 release file

1.9.0

1 release file

1.8.0

1 release file

1.7.0

1 release file

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6.0

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

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