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 func(x): return x + 1 def test_answer(): assert func(3) == 5
To execute it:
$ py.test ======= 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 ========
py.test's detailed assertion introspection, only plain
assert statements are used. See getting-started for more examples.
- Detailed info on failing assert statements (no need to remember
- 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;
- Python2.6+, Python3.2+, PyPy-2.3, Jython-2.5 (untested);
- Rich plugin architecture, with over 150+ external plugins and thriving community;
For full documentation, including installation, tutorials and PDF documents, please see http://pytest.org.
Please use the GitHub issue tracker to submit bugs or request features.
Consult the Changelog page for fixes and enhancements of each version.
Copyright Holger Krekel and others, 2004-2016.
Distributed under the terms of the MIT license, pytest is free and open source software.