:orphan: .. _features: pytest: helps you write better programs ======================================= 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: .. code-block:: python # content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5 To execute it: .. code-block:: pytest $ 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 :ref:`Getting Started ` for more examples. Features -------- - Detailed info on failing :ref:`assert statements ` (no need to remember ``self.assert*`` names); - :ref:`Auto-discovery ` of test modules and functions; - :ref:`Modular fixtures ` for managing small or parametrized long-lived test resources; - Can run :ref:`unittest ` (including trial) and :ref:`nose ` 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; Documentation ------------- Please see :ref:`Contents ` for full documentation, including installation, tutorials and PDF documents. Bugs/Requests ------------- Please use the `GitHub issue tracker `_ to submit bugs or request features. Changelog --------- Consult the :ref:`Changelog ` page for fixes and enhancements of each version. License ------- Copyright Holger Krekel and others, 2004-2017. Distributed under the terms of the `MIT`_ license, pytest is free and open source software. .. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE