/tap-prettify

Make Test Anything Protocol test runner output nicely readable.

Primary LanguageJavaScriptMIT LicenseMIT

Build Status

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

Screenshot

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 <options> <files>

    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.