Skip to main content
testrunner
https://img.shields.io/pypi/v/testrunner.svg https://img.shields.io/conda/vn/conda-forge/testrunner.svg https://img.shields.io/pypi/pyversions/testrunner.svg Code coverage Status https://github.com/jacksonsr451/test-runner/actions/workflows/test.yml/badge.svg pre-commit.ci status https://www.codetriage.com/jacksonsr451/test-runner/badges/users.svg Documentation Status Discord Libera chat

The testrunner framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.

An example of a simple test:

# content of test_sample.py
def inc(x):
    return x + 1


def test_answer():
    assert inc(3) == 5

To execute it:

$ testrunner
============================= test session starts =============================
collected 1 items

test_sample.py F

================================== FAILURES ===================================
_________________________________ test_answer _________________________________

    def test_answer():
>       assert inc(3) == 5
E       assert 4 == 5
E        +  where 4 = inc(3)

test_sample.py:5: AssertionError
========================== 1 failed in 0.04 seconds ===========================

Thanks to testrunner’s detailed assertion introspection, you can simply use plain assert statements. See getting-started for more examples.

Features

  • Detailed info on failing assert statements (no need to remember self.assert* names)

  • Auto-discovery of test modules and functions

  • Modular fixtures for managing small or parametrized long-lived test resources

  • Can run unittest (or trial) test suites out of the box

  • Python 3.10+ or PyPy3

  • Rich plugin architecture, with over 1300+ external plugins and thriving community

Documentation

For full documentation, including installation, tutorials and PDF documents, please see https://github.com/jacksonsr451/test-runner/tree/main/doc/en/.

Bugs/Requests

Please use the GitHub issue tracker to submit bugs or request features.

Changelog

Consult the Changelog page for fixes and enhancements of each version.

Support testrunner

Open Collective is an online funding platform for open and transparent communities. It provides tools to raise money and share your finances in full transparency.

It is the platform of choice for individuals and companies that want to make one-time or monthly donations directly to the project.

See more details in the testrunner collective.

testrunner for enterprise

Available as part of the Tidelift Subscription.

The maintainers of testrunner and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use.

Learn more.

Security

If you have found an issue that you believe is a security vulnerability, please do not create an issue – instead, report it via a new security advisory.

License

Copyright Jackson Severino da Rocha and others, 2026.

Distributed under the terms of the MIT license, testrunner is free and open source software.

Release files for jsr-testrunner 0.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 jsr-testrunner 0.1.0
File Size Uploaded
jsr_testrunner-0.1.0.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsr-testrunner 0.1.0
File Interpreter ABI Platform
jsr_testrunner-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.6 MB

Release files / jsr_testrunner-0.1.0.tar.gz

Download URL jsr_testrunner-0.1.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
49a429418546997a57be973cbc568310b0a4ee5758b15c9c28fa39333550139f
BLAKE2b-256 checksum
How to use checksums
9fd0fc594843640b35d61ca31cc4923fd815bd76ceda379e1637fe55f95ff62d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / jsr_testrunner-0.1.0-py3-none-any.whl

Download URL jsr_testrunner-0.1.0-py3-none-any.whl
Size 413.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
def27a371ebcc570cf7efeb93e023410ce4cf94dd5c3a59938f4c6ecacfdcb27
BLAKE2b-256 checksum
How to use checksums
1a1be396ca3b42b40980a76201bacb3442b3868969c546831c79788fdbbbc535
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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