a mature full-featured Python testing tool
- runs on Posix/Windows, Python 2.4-3.3, PyPy and Jython-2.5.1
- comprehensive online and PDF documentation
- used in many projects and organisations, in test suites ranging from 10 to 10s of thousands of tests
- comes with many tested examples
provides easy no-boilerplate testing
scales from simple unit to complex functional testing
- (new in 2.3) modular parametrizeable fixtures
- parametrized test functions
- Marking test functions with attributes
- Skip and xfail: dealing with tests that can not succeed
- can distribute tests to multiple CPUs through xdist plugin
- can continuously re-run failing tests
- many builtin helpers and plugins
- flexible Conventions for Python test discovery
integrates many common testing methods:
- multi-paradigm: pytest can run many nose, unittest.py and doctest.py style test suites, including running testcases made for Django and trial
- supports good integration practises
- supports extended xUnit style setup
- supports domain-specific Working with non-python tests
- supports the generation of testing coverage reports
- Javascript unit- and functional testing
- supports PEP 8 compliant coding styles in tests
extensive plugin and customization system:
- all collection, reporting, running aspects are delegated to hook functions
- customizations can be per-directory, per-project or per PyPI released plugins
- it is easy to add command line options or do other kind of add-ons and customizations.