Nock DVR Recorder

About
An updated, modern network recorder with the goal of being test framework agnostic. Inspired by:
Install
npm install --save-dev nock-dvr
Usage
When you need to record cassettes you can either:
- Use
dvr.describe
instead of describe
- Use
dvr.it
instead of it
dvr.describe
will record an episode before each test in that block. So
you can have multiple it
s and it will record any requests within them.
dvr.it
will record a cassette for one specific test.
They both support .skip
and .only
as mocha does.
const request = require('request');
const assert = require('assert');
const dvr = require('nock-dvr');
describe('normal test', function() {
dvr.it.only('works', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
it('some other test', function() {
});
});
dvr.describe.skip('skipped test', function() {
it('makes request', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
});
Configuration
List of available configuration
options
Test specific configuration
dvr.it('works', {
mode: 'all'
}, function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
dvr.describe('works', { mode: 'all' }, function() {
it('makes request', function(done) {
request('http://localhost:4000/users', function(err, res, body) {
assert(!err, 'was success');
done();
});
});
});
Global Configuration
A dvr.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.
const dvr = require('nock-dvr');
dvr.config({
excludeScope: ['github.com']
});
Credit