Approval Tests Library - Capturing Human Intelligence


Approval Tests Library - Capturing Human Intelligence

Learn more more about Approvals at

Latest Builds

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!";
            this.verify(data);  // or this.verifyAsJSON(data) 
  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!

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,
        errorOnStaleApprovedFiles: true,
    }).mocha(__dirname); // or .jasmine(__dirname); 
/* ... */

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

Check out the guidlines!

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