Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/python-tap/tappy
Python Test Anything Protocol (TAP) tools
https://github.com/python-tap/tappy
python tap
Last synced: 28 days ago
JSON representation
Python Test Anything Protocol (TAP) tools
- Host: GitHub
- URL: https://github.com/python-tap/tappy
- Owner: python-tap
- License: bsd-2-clause
- Created: 2014-03-08T04:45:53.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2024-10-14T18:56:22.000Z (about 2 months ago)
- Last Synced: 2024-11-02T19:05:40.225Z (about 1 month ago)
- Topics: python, tap
- Language: Python
- Homepage: http://tappy.readthedocs.io/en/latest/
- Size: 623 KB
- Stars: 135
- Watchers: 7
- Forks: 27
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-tap - tappy - Tools for working with TAP. (Tools / Python)
README
tappy
=====[![PyPI version][pypishield]](https://pypi.python.org/pypi/tap.py)
[![Coverage][coverage]](https://codecov.io/github/python-tap/tappy)tappy is a set of tools for working with the
[Test Anything Protocol (TAP)][tap] in Python. TAP is a line based test
protocol for recording test data in a standard way.Full documentation for tappy is at [Read the Docs][rtd]. The information
below provides a synopsis of what tappy supplies.For the curious: tappy sounds like "happy."
If you find tappy useful, please consider starring the repository to show a
kindness and help others discover something valuable. Thanks!Installation
------------tappy is available for download from [PyPI][pypi]. tappy is currently supported
on Python
3.7,
3.8,
3.9,
3.10,
and PyPy.
It is continuously tested on Linux, OS X, and Windows.```bash
$ pip install tap.py
```For testing with [pytest][pytest],
you only need to install `pytest-tap`.```bash
$ pip install pytest-tap
```For testing with [nose][ns],
you only need to install `nose-tap`.```bash
$ pip install nose-tap
```TAP version 13 brings support
for [YAML blocks](http://testanything.org/tap-version-13-specification.html#yaml-blocks)
associated with test results.
To work with version 13, install the optional dependencies.
Learn more about YAML support
in the [TAP version 13](http://tappy.readthedocs.io/en/latest/consumers.html#tap-version-13) section.```bash
$ pip install tap.py[yaml]
```Motivation
----------Some projects have mixed programming environments with many
programming languages and tools. Because of TAP's simplicity,
it can function as a *lingua franca* for testing.
When every testing tool 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.
![TAP streaming demo][stream]
Goals
-----1. Provide [TAP Producers][produce] which translate Python's `unittest` into
TAP.
2. Provide a [TAP Consumer][consume] which reads TAP and provides a
programmatic API in Python or generates summary results.
3. Provide a command line interface for reading TAP.Producers
---------* `TAPTestRunner` - This subclass of `unittest.TextTestRunner` provides all
the functionality of `TextTestRunner` and generates TAP files.
* tappy for [nose][ns] -
`nose-tap` provides a plugin
for the **nose** testing tool.
* tappy for [pytest][pytest] -
`pytest-tap` provides a plugin
for the **pytest** testing tool.Consumers
---------* `tappy` - A command line tool for processing TAP files.
* `Loader` and `Parser` - Python APIs for handling of TAP files and data.Contributing
------------The project welcomes contributions of all kinds.
Check out the [contributing guidelines][contributing]
for tips on how to get started.[tap]: http://testanything.org/
[pypishield]: https://img.shields.io/pypi/v/tap.py.svg
[coverage]: https://img.shields.io/codecov/c/github/python-tap/tappy.svg
[rtd]: http://tappy.readthedocs.io/en/latest/
[pypi]: https://pypi.python.org/pypi/tap.py
[stream]: https://github.com/python-tap/tappy/blob/main/docs/images/stream.gif
[produce]: http://testanything.org/producers.html
[consume]: http://testanything.org/consumers.html
[ns]: https://nose.readthedocs.io/en/latest/
[pytest]: http://pytest.org/latest/
[contributing]: http://tappy.readthedocs.io/en/latest/contributing.html