Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/toolness/tap-prettify

Make Test Anything Protocol test runner output nicely readable.
https://github.com/toolness/tap-prettify

Last synced: about 2 months ago
JSON representation

Make Test Anything Protocol test runner output nicely readable.

Awesome Lists containing this project

README

        

[![Build Status](https://secure.travis-ci.org/toolness/tap-prettify.png?branch=master)](http://travis-ci.org/toolness/tap-prettify)

This makes node [Test Anything Protocol][tap] test runner output
nicely readable, like so:

![Screenshot](http://labs.toolness.com/tap-prettify-2.png)

To use it, simply `npm install tap-prettify` and then use the
`tap-prettify` executable instead of `tap` to run your tests.

Here's the help documentation for `tap-prettify`:

```
Usage:
tap-prettify

Run the files as tap tests, parse the output, and report the results
nicely.

If the only file provided is -, this program will prettify the tap stream
from stdin.

Options:

--stderr Print standard error output of tests to standard error.
--gc Expose the garbage collector to tests.
--timeout Maximum time to wait for a subtest, in seconds. Default: 30
--version Print the version of node tap-prettify.
--help Print this help.
```

See the [tap README][] for more guidance on how to use tap to write tests.

Finally, the `tap-prettify` module inherits everything from the `tap`
module, so you can use it as a substitute if needed.

## Limitations

Unfortunately, the [tap specification][] is rather barebones; for
example, it doesn't have a concept of testing multiple files. Because of
this, while I originally set out to make `tap-prettify` a tap consumer
that could read from any tap stream—regardless of whether it was
generated by `node-tap` in particular—I ended up having to couple the
program fairly tightly to `node-tap`'s specific tap stream format in
order to generate the most useful output.

[tap]: https://github.com/isaacs/node-tap
[tap README]: https://github.com/isaacs/node-tap#readme
[tap specification]: http://podwiki.hexten.net/TAP/TAP.html?page=TAP