@albanv/nock-vcr-recorder-mocha

Wrapper around nock-vcr-recorder to simplify creating vcr cassettes in mocha.


Keywords
vcr, mocha, nock, testing, fixtures, mocking
License
MIT
Install
npm install @albanv/nock-vcr-recorder-mocha@0.3.3

Documentation

Nock VCR Recorder Mocha Build Status

About

A wrapper around nock-vcr-recorder to simplify creating vcr cassettes in mocha.

Install

npm install --save-dev nock-vcr-recorder-mocha

Usage

When you need to record cassettes you can either:

  • Use vcr.describe instead of describe
  • Use vcr.it instead of it

vcr.describe will record a cassette before each test in that block. So you can have multiple its 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();
    });
  });
});

Configuration

List of available configuration options

Test specific configuration

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();
    });
  });
});

Global Configuration

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']
});

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