Socket
Socket
Sign inDemoInstall

nock-dvr

Package Overview
Dependencies
151
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nock-dvr

A modern network request recording for testing complex Web APIs.


Version published
Maintainers
1
Install size
21.9 MB
Created

Changelog

Source

v0.1.0

  • Fix handling describe block rejections
  • Update packages

Readme

Source

Nock DVR Recorder

Build Status codecov Greenkeeper badge

About

An updated, modern network recorder with the goal of being test framework agnostic. Inspired by:

Install

npm install --save-dev nock-dvr

Usage

  • Works with Mocha
  • Works with Jest

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 its 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() {
    // You can use mocha how you normally would to group tests
  });
});

dvr.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
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

Keywords

FAQs

Last updated on 03 Oct 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc