The Wayback Machine - https://web.archive.org/web/20200527131704/https://github.com/pytest-dev/pytest
Skip to content
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
Python
Branch: master
Clone or download

Latest commit

RonnyPfannschmidt Merge pull request #7252 from symonk/6900-class-per-instance-of-test-…
…docs

document class instantiation for tests inside classes
Latest commit 54ae27f May 25, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Use deadsnakes/action@v1.0.0 to install python3.9 nightly May 24, 2020
bench Add rudimentary mypy type checking Jul 9, 2019
changelog Merge pull request #7240 from DahlitzFlorian/fix-issue-7233 May 23, 2020
doc/en Merge pull request #7252 from symonk/6900-class-per-instance-of-test-… May 25, 2020
extra pre-commit: upgrade flake8 3.7.7 -> 3.8.1 May 12, 2020
scripts Fix errors introduced by #6911 May 16, 2020
src Merge pull request #7244 from DahlitzFlorian/fix-issue-7150 May 23, 2020
testing Merge pull request #7244 from DahlitzFlorian/fix-issue-7150 May 23, 2020
.coveragerc Ignore "assert False" statements in coverage Feb 15, 2020
.gitattributes Add codecov support to AppVeyor and remove coveralls Sep 5, 2018
.gitblameignore Add .gitblameignore (#6848) Mar 4, 2020
.gitignore docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019
.pre-commit-config.yaml pre-commit: upgrade flake8 3.7.7 -> 3.8.1 May 12, 2020
.travis.yml ci: fix Travis (#236) (#6786) Feb 21, 2020
AUTHORS Merge pull request #7240 from DahlitzFlorian/fix-issue-7233 May 23, 2020
CHANGELOG.rst docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019
CITATION Fix linting issues Jul 14, 2018
CODE_OF_CONDUCT.md remove myself from the list of coc handlers (#6857) Mar 3, 2020
CONTRIBUTING.rst CONTRIBUTING: add section about backporting fixes to patch releases May 20, 2020
LICENSE Update copyright year to 2020 Jan 4, 2020
OPENCOLLECTIVE.rst doc: fix typos in OPENCOLLECTIVE.rst [ci skip] Jul 10, 2019
README.rst update available plugin count Mar 21, 2020
RELEASING.rst Automate release by comment notifications (#6823) Mar 1, 2020
TIDELIFT.rst Add asottile as well May 8, 2020
codecov.yml ci: codecov: only use "comment: off" Jan 25, 2020
pyproject.toml Add config for black (target-version) Mar 7, 2020
setup.cfg Merge pull request #7185 from bluetech/sigpipe May 8, 2020
setup.py Upgrade mypy 0.761 -> 0.770 Mar 21, 2020
tox.ini Fix tests for python3.9 May 7, 2020

README.rst

pytest
Code coverage Status https://travis-ci.org/pytest-dev/pytest.svg?branch=master https://dev.azure.com/pytest-dev/pytest/_apis/build/status/pytest-CI?branchName=master Documentation Status

The pytest 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:

$ pytest
============================= 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 ===========================

Due to pytest's detailed assertion introspection, only plain assert statements are used. 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), nose test suites out of the box;
  • Python 3.5+ and PyPy3;
  • Rich plugin architecture, with over 850+ external plugins and thriving community;

Documentation

For full documentation, including installation, tutorials and PDF documents, please see https://docs.pytest.org/en/latest/.

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 pytest

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 pytest collective.

pytest for enterprise

Available as part of the Tidelift Subscription.

The maintainers of pytest 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

pytest has never been associated with a security vulnerability, but in any case, to report a security vulnerability please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

License

Copyright Holger Krekel and others, 2004-2020.

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

You can’t perform that action at this time.