Continuous Integration and Continuous Deployment for Open Sourced NPM Tooling.
Last updated a year ago by raybenefield .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install kape 
SYNC missed versions from official npm registry.


Kape is a testing framework focused on Developer Experience first. It does this by prioritizing the following concepts as first class citizens:

  • Snapshot Testing
  • Data Driven Testing
  • Behavior Driven Development
  • CLI UX
  • Promises


As a developer that loves the most minimal setup possible with the smallest footprint, I've always been tied to Tape as a testing framework. Over time, Tape was not able to fulfill the needs I had of a testing framework. I really enjoy Behavior Driven Development terminology so to enable that I added in Tape BDD. Following that I really wanted Snapshot Testing as made popular by Jest. While I thought that would be a simple thing to add... it wasn't. While trying snapshot testing, I also really needed promise support and I needed to add Blue Tape. At that moment I realized I needed something to do all of the above.

On top of that growing stack just for testing, I am also a REALLY lazy developer... most of the time I just want to know that a function's output does not change as long as I maintain the same input. I wanted a Snapshot Testing First strategy, that was just not easy to do in any framework. I tried getting Jest to work, but ultimately I got stuck in configuration hell due to the Alle monorepo setup. So instead I decided to write my own framework where all you needed to provide was a set of inputs and the framework would snapshot the output of the function under test by default and always check against the snapshot. And with that Kape was born.


The simplest way to use Kape is below:

import describe from 'kape'
import funcUnderTest from './some-function'

describe('Name of Function', funcUnderTest, snapshot =>
    snapshot([], [arg1], [arg1, arg2])

The above will run 3 tests. It will run each argument of snapshot as a set of arguments for the given funcUnderTest, after running that it will snapshot the result and save it. If a snapshot already exists, it will validate against the old snapshot, and then ask for verification if any changes are present. Simple as that.

Current Tags

  • 0.0.20                                ...           latest (a year ago)

20 Versions

  • 0.0.20                                ...           a year ago
  • 0.0.19                                ...           2 years ago
  • 0.0.18                                ...           2 years ago
  • 0.0.17                                ...           2 years ago
  • 0.0.16                                ...           2 years ago
  • 0.0.15                                ...           2 years ago
  • 0.0.14                                ...           2 years ago
  • 0.0.13                                ...           2 years ago
  • 0.0.12                                ...           2 years ago
  • 0.0.11                                ...           2 years ago
  • 0.0.10                                ...           2 years ago
  • 0.0.9                                ...           2 years ago
  • 0.0.8                                ...           2 years ago
  • 0.0.7                                ...           2 years ago
  • 0.0.6                                ...           2 years ago
  • 0.0.5                                ...           2 years ago
  • 0.0.4                                ...           2 years ago
  • 0.0.3                                ...           2 years ago
  • 0.0.2                                ...           2 years ago
  • 0.0.1                                ...           2 years ago
Maintainers (1)
Today 0
This Week 0
This Month 9
Last Day 0
Last Week 1
Last Month 5
Dependencies (13)
Dev Dependencies (0)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |