A wrapper around nock-vcr-recorder to simplify creating vcr cassettes in mocha.
npm install --save-dev nock-vcr-recorder-mocha
When you need to record cassettes you can either:
- Use
vcr.describe
instead ofdescribe
- Use
vcr.it
instead ofit
vcr.describe
will record a cassette before each test in that block. So
you can have multiple it
s and it will record any requests within them.
vcr.it
will record a cassette for one specific test.
They both support .skip
and .only
as mocha does.
var request = require('request');
var assert = require('assert');
var vcr = require('nock-vcr-recorder-mocha');
describe('normal test', function() {
vcr.it.only('works', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
it('some other test', function() {
// You can use mocha how you normally would to group tests
});
});
vcr.describe.skip('skipped test', function() {
// Anything in here will be skipped
// If the skip is removed, this request would be recorded for playback in
// later tests
it('makes request', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
});
List of available configuration options
vcr.it('works', {
mode: 'all'
}, function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
vcr.describe('works', { mode: 'all' }, function() {
it('makes request', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
});
A vcr.config
method is exposed to set default configuration on a global level.
This should be done before any of your tests have run. In mocha you can put this
in a helper file.
var vcr = require('nock-vcr-recorder-mocha');
ncr.config({
excludeScope: ['github.com']
});
This library follows Semantic Versioning
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.
Poetic Systems, Inc © 2014