GitHub - DavidAnson/tape-player: A simple, terse, in-process reporter for the tape test runner for Node.js. (original) (raw)
tape-player
A simple, terse, in-process reporter for the
tape
test harness for Node.js.
But why tho?
The Test Anything Protocol (TAP) used by many test harnesses is versatile, but it's not much to look at - or rather, it's too much to look at. There aremany custom formattersthat work with the tape test harness, but most work bypiping process output. This is a useful technique, but interferes with theexit status of the test harness which is a problem in scripts that are meant to fail when tests fail (likenpm test). (Though there areworkaroundsfor this, they are shell- and platform-specific.)
Fortunately, tape
offers an alternative logging mechanism via itscreateStream API. This technique is easy to use and runs in-process so it doesn't interfere with the exit status of the test harness. tape-player
takes advantage of this to produce a concise test log that's easy to enable.
Hook me up!
Install tape-player
via:
npm install tape-player --save-dev
And add it to one or more tape
-based test files via:
require("tape-player")
// Ignore return value
That's it - run those tests and you'll see nicely formatted output on thestandard output device!
tape-player
works with the tape
CLI or directly in tape
-based files (as with node test-file.js
).
Show me what you got...
Example output:
passing test
failing test
/home/user/project/test/example.js:15:8
Message: oops
Operator: fail
passing test
Tests: 3
Asserts: 5
Failures: 1