pytest-tap is a reporting plugin for pytest that outputs Test Anything Protocol (TAP) data. TAP is a line based test protocol for recording test data in a standard way.
Use pytest --tap
after installing to get started.
Follow GitHub for more information or to follow this plugin's development. Additional developer documentation about Python and TAP is on Read the Docs.
- Diagnostics now output logs, stdout, stderr for failed tests.
Use the standard
--show-capture
flag to control the output. - Diagnostics can display for passing tests using the
--tap-log-passing-tests
flag. - Add support for Python 3.12.
- Add support for Python 3.13.
- Drop support for Python 3.8 (it is end-of-life).
- Deprecate
--tap-stream
in favor of--tap
for streaming mode. - When using xdist, report the plan at the beginning of execution.
- Add support for Python 3.11.
- Drop support for Python 3.7 (it is end-of-life).
- Drop support for Python 3.6 (it is end-of-life).
- Drop support for PyPy.
- Add support for Python 3.10.
- Fix bug with help printing when streaming mode is enabled (#59).
- Drop support for Python 3.5 (it is end-of-life).
- Remove unmaintained (and likely inaccurate) locale info.
- Add support for Python 3.8.
- Add support for Python 3.9.
- Handle
unittest.expectedFailure
andpytest.xfail
in a way that is more consistent with the TAP specification.
- Fix reporting that was broken by the removal of a deprecated feature in pytest 5.4.
- Drop support for Python 2.
- Last supported version for Python 2.
- Pin tap.py to a version range that supports Python 2.
- Handle failures that occur from setup. This will catch errors that may happen in fixtures.
- Drop support for Python 3.4 (it is end-of-life).
- Add support for Python 3.7.
- Improve xfail handling. Honor strict xfail mode. Use TODO instead of SKIP directive to better align with TAP specification.
- Output the plan line (
1..N
) first.
- Update output format to match closer to pytest styling.
- Drop support for Python 3.3 (it is end-of-life).
- Add support for Python 3.6.
- Fix crash when running with pytest-xdist (#27).
- Update to tap.py 2.0. This update drops the indirect dependencies on nose and pygments.
- Improve handling of skips and xfails.
- Suppress
# TAP results for TestCase
for streaming. This header makes little sense for pytest's test function paradigm. Including the header generated extra noise for each function. - Drop support for Python 2.6
- Initial release as stand-alone plugin. The version number aligns with tappy.