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
nicoddemus Optimized renaming of test parameter ids (#6350)
Optimized renaming of test parameter ids
Latest commit 8be9684 Dec 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Improve instructions on how to write CHANGELOG entries Nov 19, 2019
bench Add rudimentary mypy type checking Jul 9, 2019
changelog Optimized renaming of test parameter ids Dec 16, 2019
doc/en Remove duplicated user from announcement Dec 14, 2019
extra Revert allow_abbrev=False in helper scripts Jun 25, 2019
scripts docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019
src Optimized renaming of test parameter ids Dec 16, 2019
testing Bugfix 5430 pass logs to junit report (#6274) Dec 12, 2019
.coveragerc .coveragerc: add report section Aug 15, 2019
.gitattributes Add codecov support to AppVeyor and remove coveralls Sep 5, 2018
.gitignore docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019
.pre-commit-config.yaml Remove outdated py2py3 example Dec 2, 2019
.travis.yml Revert "ci: use tox -vv" Nov 18, 2019
AUTHORS Optimized renaming of test parameter ids Dec 16, 2019
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 Add a code of conduct Aug 8, 2019
CONTRIBUTING.rst Add develop instructions to CONTRIBUTING Nov 21, 2019
HOWTORELEASE.rst Update release instructions for 4.6-maintenance Jun 2, 2019
LICENSE Update copyright year Jan 4, 2019
OPENCOLLECTIVE.rst doc: fix typos in OPENCOLLECTIVE.rst [ci skip] Jul 10, 2019
README.rst Fixes #6326: Typo in the Security section docs home page. Dec 9, 2019
TIDELIFT.rst Add docs about Tidelift and OpenCollective Jun 30, 2019
azure-pipelines.yml Revert "ci: use tox -vv" Nov 18, 2019
codecov.yml ci: add codecov.yml to turn comments off Aug 15, 2019
pyproject.toml docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019
setup.cfg Convert pytest.py into a package Dec 2, 2019
setup.py Use atomicrewrites only on Windows Nov 7, 2019
tox.ini docs: move changelog to docs/en and allow sphinx directives Nov 29, 2019

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

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 315+ 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 provide 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 datails 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-2019.

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

You can’t perform that action at this time.