Approval Tests Library - Capturing Human Intelligence
Learn more more about Approvals at approvaltests.com
Service | Status |
---|---|
Linux (Travis CI) | |
Windows (AppVeyor) | |
Coverage (Coveralls) |
- Mocha tests
- Jasmine tests
- Approvals API (
require('approvals').verify(...)
) - Command line Utility
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.
- Create a project (folder)
mkdir MyProject
cd MyProject`
-
Install approvals
npm install --save-dev approvals
-
Install Mocha globally to execute our tests
npm install -g mocha
- Create a sample Mocha test file called
test.js
.
require('approvals')
.configure(/* options - see below */)
.mocha(__dirname);
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)
});
});
- Test the file with mocha.
mocha test.js
- You should be presented with a diff tool. (if not, you may need to install one)
The default configuration can be overriden by using the .configure(...)
as shown below.
require('approvals')
.configure({
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.