Approval Tests Library - Capturing Human Intelligence

npm install approvals
1 downloads in the last week
42 downloads in the last month


Approval Tests Library - Capturing Human Intelligence

Learn more more about Approvals at

Build Status

Build Status

Supported Testing Frameworks

Getting Started

Below is a simple getting started using Mocha. We now support Jasmine as well, just replace mocha with Jasmine below and you should be able to get started.

  1. Create a project (folder)

     mkdir MyProject
     cd MyProject`
  2. Install approvals npm install --save-dev approvals

  3. Install Mocha globally to execute our tests

     npm install -g mocha
  4. Create a sample Mocha test file called test.js.

     describe('When running some tests', function () {
         it('should be able to use Approvals', function () {
             var data = "Hello World!";
  5. Test the file with mocha.

     mocha test.js
  6. You should be presented with a diff tool. (if not, you may need to install one)


Approvals Github Wiki!


Config (override)

The default configuration can be overriden by using the .configure(...) as shown below.

        reporters:  ["p4merge", "opendiff", "tortoisemerge", "gitdiff"],
        appendEOL: false, // default is (still up for discussion, but currently true on windows false everywhere else
        EOL:  require('os').EOL
    }).mocha(__dirname); // or .jasmine(__dirname);
/* ... */

Approved File Artifacts

The *.approved.* files must be checked into source your source control. This can be an issue with git as it will change the line endings. The suggested fix is to add *.approved.* binary to your .gitattributes


  • TODO:
    • Manual calls for verify/naming/etc.
    • Vows

Can you think any other testing frameworks that should approvals should integrate with? Consider submitting a pull request, or report a Github issue for discussion.


Check out the guidlines!


Copyright (c) 2012-2014 Llewellyn Falco, Jason Jarrett
Licensed under the Apache license.

npm loves you