- orphan
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 ============================
platform linux -- Python 3.x.y, pytest-4.x.y, py-1.x.y, pluggy-0.x.y
cachedir: $PYTHON_PREFIX/.pytest_cache
rootdir: $REGENDOC_TMPDIR
collected 1 item
test_sample.py F [100%]
================================= FAILURES =================================
_______________________________ test_answer ________________________________
def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)
test_sample.py:6: AssertionError
========================= 1 failed in 0.12 seconds =========================
Due to pytest
's detailed assertion introspection, only plain assert
statements are used. See Getting Started <getstarted>
for more examples.
- Detailed info on failing
assert statements <assert>
(no need to rememberself.assert*
names); Auto-discovery <test discovery>
of test modules and functions;Modular fixtures <fixture>
for managing small or parametrized long-lived test resources;- Can run
unittest <unittest>
(including trial) andnose <noseintegration>
test suites out of the box; - Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);
- Rich plugin architecture, with over 315+ external plugins and thriving community;
Please see Contents <toc>
for full documentation, including installation, tutorials and PDF documents.
Please use the GitHub issue tracker to submit bugs or request features.
Consult the Changelog <changelog>
page for fixes and enhancements of each version.
Copyright Holger Krekel and others, 2004-2021.
Distributed under the terms of the MIT license, pytest is free and open source software.