pytest-tap is a reporting plugin for pytest that outputs
Test Anything Protocol (TAP) <http://testanything.org/>_ 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 <https://github.com/python-tap/pytest-tap>_
for more information or to follow this plugin's development.
Additional developer documentation about Python and TAP is on
Read the Docs <https://tappy.readthedocs.io/>_.
Releases
Version 3.5, January 30, 2025
- 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).
Version 3.4, July 15, 2023
- 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.
Version 3.3, October 27, 2021
- 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.
Version 3.2, November 7, 2020
- Add support for Python 3.8.
- Add support for Python 3.9.
- Handle
unittest.expectedFailure and pytest.xfail
in a way that is more consistent
with the TAP specification.
Version 3.1, Released March 25, 2020
- Fix reporting that was broken by the removal
of a deprecated feature in pytest 5.4.
Version 3.0, Released January 28, 2020
- Drop support for Python 2.
Version 2.5, Released December 26, 2019
- Last supported version for Python 2.
- Pin tap.py to a version range that supports Python 2.
Version 2.4, Released October 21, 2019
- 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.
Version 2.3, Released September 16, 2018
- 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.
Version 2.2, Released January 9, 2018
- Update output format to match closer to pytest styling.
- Drop support for Python 3.3 (it is end-of-life).
Version 2.1, Released August 12, 2017
- Add support for Python 3.6.
- Fix crash when running with pytest-xdist (#27).
Version 2.0, Released August 1, 2016
- 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
Version 1.9, Released June 11, 2016
- Initial release as stand-alone plugin.
The version number aligns with tappy.