| :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:: |
| |
| $ pytest |
| =========================== test session starts ============================ |
| platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |
| rootdir: $REGENDOC_TMPDIR, inifile: |
| 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 <getstarted>` for more examples. |
| |
| |
| Features |
| -------- |
| |
| - Detailed info on failing :ref:`assert statements <assert>` (no need to remember ``self.assert*`` names); |
| |
| - :ref:`Auto-discovery <test discovery>` of test modules and functions; |
| |
| - :ref:`Modular fixtures <fixture>` for managing small or parametrized long-lived test resources; |
| |
| - Can run :ref:`unittest <unittest>` (including trial) and :ref:`nose <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 <http://plugincompat.herokuapp.com>`_ and thriving community; |
| |
| |
| Documentation |
| ------------- |
| |
| Please see :ref:`Contents <toc>` for full documentation, including installation, tutorials and PDF documents. |
| |
| |
| Bugs/Requests |
| ------------- |
| |
| Please use the `GitHub issue tracker <https://github.com/pytest-dev/pytest/issues>`_ to submit bugs or request features. |
| |
| |
| Changelog |
| --------- |
| |
| Consult the :ref:`Changelog <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 |