Mocha Nock Fixtures 
About
A simple library that makes saving fixtures with
nock and
mocha easy. Just
use describeFixture instead of describe and it will record outbound requests
using nock into test/fixtures and read from them the next time you run the
tests.
Install
npm install --save-dev mocha-nock-fixtures
Usage
Use describeFixture instead of describe and it will use nock to record all
requests into your test/fixtures directory. It also supports .skip and
.only as mocha does.
var request = require('request');
var assert = require('assert');
var describeFixture = require('mocha-nock-fixtures');
describeFixture('normal test', function() {
it('works', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
describe('some other test', function() {
});
});
describeFixture.skip('skipped test', function() {
});
describeFixture.only('only test', function() {
});
describeFixture('normal test', {
excludeScope: 'localhost:4000',
recorder: {
enable_reqheaders_recording: true
}
}, function() {
it('works', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
describe('some other test', function() {
});
});
Configuration
Defaults:
{
excludeScope: ['localhost', '127.0.0.1', '0.0.0.0'],
overwrite: false,
recordOnFailure: false,
recorder: {
output_objects: true,
dont_print: true
}
}
To overide these you can call describeFixture.setDefaults with an object to
override them for ALL tests. It must be called before any describeFixture() is
called to work properly. The best place is in a test helper file.
You also are able to pass in test specific options as the last parameter to
describeFixture(). See the "Usage" section above for an example.
Authors
Versioning
This library follows Semantic Versioning
Want to help?
Please do! We are always looking to improve this library. If you have any ideas
please open an issue or a pull requests and we'll work on getting them in.
Legal
Poetic Systems, Inc © 2014
@poeticsystems
Licensed under the MIT license