mirror of https://github.com/pytest-dev/pytest.git
![]() |
||
---|---|---|
.github | ||
_pytest | ||
bench | ||
doc/en | ||
extra | ||
testing | ||
.coveragerc | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CHANGELOG.rst | ||
CONTRIBUTING.rst | ||
HOWTORELEASE.rst | ||
ISSUES.txt | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
appveyor.yml | ||
plugin-test.sh | ||
pytest.py | ||
requirements-docs.txt | ||
runtox.py | ||
setup.cfg | ||
setup.py | ||
tox.ini |
README.rst
.. image:: http://docs.pytest.org/en/latest/_static/pytest1.png :target: http://docs.pytest.org :align: center :alt: pytest ------ .. image:: https://img.shields.io/pypi/v/pytest.svg :target: https://pypi.python.org/pypi/pytest .. image:: https://img.shields.io/pypi/pyversions/pytest.svg :target: https://pypi.python.org/pypi/pytest .. image:: https://img.shields.io/coveralls/pytest-dev/pytest/master.svg :target: https://coveralls.io/r/pytest-dev/pytest .. image:: https://travis-ci.org/pytest-dev/pytest.svg?branch=master :target: https://travis-ci.org/pytest-dev/pytest .. image:: https://ci.appveyor.com/api/projects/status/mrgbjaua7t33pg6b?svg=true :target: https://ci.appveyor.com/project/pytestbot/pytest 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 func(x): return x + 1 def test_answer(): assert func(3) == 5 To execute it:: $ pytest ======= test session starts ======== platform linux -- Python 3.4.3, pytest-2.8.5, py-1.4.31, pluggy-0.3.1 collected 1 items test_sample.py F ======= FAILURES ======== _______ test_answer ________ def test_answer(): > assert func(3) == 5 E assert 4 == 5 E + where 4 = func(3) test_sample.py:5: AssertionError ======= 1 failed in 0.12 seconds ======== Due to ``py.test``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <http://docs.pytest.org/en/latest/getting-started.html#our-first-test-run>`_ for more examples. Features -------- - Detailed info on failing `assert statements <http://docs.pytest.org/en/latest/assert.html>`_ (no need to remember ``self.assert*`` names); - `Auto-discovery <http://docs.pytest.org/en/latest/goodpractices.html#python-test-discovery>`_ of test modules and functions; - `Modular fixtures <http://docs.pytest.org/en/latest/fixture.html>`_ for managing small or parametrized long-lived test resources; - Can run `unittest <http://docs.pytest.org/en/latest/unittest.html>`_ (or trial), `nose <http://docs.pytest.org/en/latest/nose.html>`_ test suites out of the box; - Python2.6+, Python3.3+, PyPy-2.3, Jython-2.5 (untested); - Rich plugin architecture, with over 150+ `external plugins <http://docs.pytest.org/en/latest/plugins.html#installing-external-plugins-searching>`_ and thriving community; Documentation ------------- For full documentation, including installation, tutorials and PDF documents, please see http://docs.pytest.org. Bugs/Requests ------------- Please use the `GitHub issue tracker <https://github.com/pytest-dev/pytest/issues>`_ to submit bugs or request features. Changelog --------- Consult the `Changelog <http://docs.pytest.org/en/latest/changelog.html>`_ page for fixes and enhancements of each version. License ------- Copyright Holger Krekel and others, 2004-2016. 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