Note
Are you an experienced pytest user, or an open source project that needs some help getting started with pytest? April 2015 is adopt pytest month!
a mature full-featured Python testing tool
- runs on Posix/Windows, Python 2.6-3.4, PyPy and (possibly still) Jython-2.5.1
- well tested with more than a thousand tests against itself
- strict backward compatibility policy for safe pytest upgrades
- comprehensive online and PDF documentation
- many third party plugins and builtin helpers,
- used in many small and large projects and organisations
- comes with many tested examples
provides easy no-boilerplate testing
scales from simple unit to complex functional testing
- modular parametrizeable fixtures (new in 2.3, continuously improved)
- parametrized test functions
- Marking test functions with attributes
- Skip and xfail: dealing with tests that can not succeed (improved in 2.4)
- distribute tests to multiple CPUs through xdist plugin
- continuously re-run failing tests
- flexible Conventions for Python test discovery
integrates with other testing methods and tools:
- multi-paradigm: pytest can run nose, unittest and doctest 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 generating test coverage reports
- 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 plugin
- it is easy to add command line options or customize existing behaviour