node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


assert-snapshot stability

npm version build status downloads js-standard-style

Snapshot UI testing for tape tests. Inspired by Jest snapshot testing, but implemented as a module instead of a custom runtime.


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)
function myComponent () {
  return html`
      Hello planet


TAP version 13
# my cool component
ok 1 snapshot found for "my cool component"
ok 2 <section>
ok 3 ·· Hello planet
ok 4 </section>
# 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


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