assert-snapshot
Snapshot UI testing for tape tests. Inspired by Jest snapshot
testing, but
implemented as a module instead of a custom runtime.
Usage
var snap = require('assert-snapshot')
var tape = require('tape')
var html = require('bel')
tape('my cool component', function (assert) {
var str = myComponent().toString()
snap(assert, str)
assert.end()
})
function myComponent () {
return html`
<section>
Hello planet
</section>
`
}
Outputs
TAP version 13
# my cool component
ok 1 snapshot found for "my cool component"
ok 2 <section>
ok 3 ·· Hello planet
ok 4 </section>
1..4
# tests 4
# pass 4
# ok
Updating snapshots
By default no snapshot is saved. Set the UPDATE_SNAPSHOT=true
env variable to
update the snapshot and save it to snapshot.json
. Each snapshot is saved
using the name of the test as the key, so make sure test names are unique.
$ UPDATE_SNAPSHOT=true node example.js
API
snapshot(assert, html, [cache])
Assert a string of HTML using a custom assert function. Takes an optional cache
object that contains the expected values. Use this if snapshot tests become I/O
bound.
See Also
License
MIT