Tools for working with the Test Anything Protocol (TAP) in Python
Full documentation for tappy is at Read the Docs. The information below provides a synopsis of what tappy supplies.
For the curious: tappy sounds like "happy."
tappy is available for download from PyPI. You can install it with
pip or easy_install. tappy is currently supported on Python 2.6,
2.7, 3.2, 3.3, 3.4 and PyPy.
$ pip install tap.pySome projects have extremely heterogenous programming environments with many
programming languages and tools. Because of the simplicity of TAP, the
protocol can function as a lingua franca for testing. When every testing
tool on a project can create TAP, a team can get a holistic view of
their system. Python did not have a bridge from unittest to TAP so it was
difficult to integrate a Python test suite into a larger TAP ecosystem.
tappy is Python's bridge to TAP.
- Provide TAP Producers which translate Python's
unittestinto TAP. - Provide a TAP Consumer which reads TAP and provides a programmatic API in Python or generates summary results.
- Provide a command line interface for reading TAP.
TAPTestRunner- This subclass ofunittest.TextTestRunnerprovides all the functionality ofTextTestRunnerand generates TAP files.- tappy for nose - tappy provides a plugin for the nose testing tool.
There is a lot to do.
- TODO: Have options for either 1 big TAP file or 1 file per test case.
- TODO: Create an API similar to Test::Harness (if it makes sense to do so) to provide programmatic access to TAP results within Python programs.
- TODO: Create an executable
tappywhich should function likeprove. - TODO: Use travis to do an end to end test. Run the test suite to generate
TAP and use
tappyto parse and verify the results. The results should always be the same.


