mocha-cassettes
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

MochaCassettes

npm CI

Node.js library based on Nock to record HTTP interactions in Mocha tests.

Prerequisites

This library requires Node 10 or higher.

Installation

Install with NPM:

npm install -D mocha-cassettes

Usage

Import the Cassettes module in your test:

import { Cassettes } from 'mocha-cassettes';

Create an instance while providing a path to the folder where your recorded cassettes should reside:

describe('Feature', function () {
  const cassette = new Cassettes('./test/cassettes');
});

Now create the actual test:

cassette.createTest('get request', async () => {
  const response = await got('http://localhost/test');
  expect(response.body).to.be.equal('ok');
}).register(this);

If the cassette does not exist, it will be recorded for you once you run the test. All subsequent test runs will utilize the recorded cassette. Set the environment variable NO_CASSETTE_MOCKING to ignore all mocking code.

Here is the full example:

import { Cassettes } from 'mocha-cassettes';

describe('Feature', function () {
  const cassette = new Cassettes('./test/cassettes');

  cassette.createTest('get request', async () => {
    const response = await got('http://localhost/test');
    expect(response.body).to.be.equal('ok');
  }).register(this);
});

License

This library is based on mocha-tape-deck and licensed under the MIT License.

Copyright (c) Ilya Krukowski, Roman Kutanov

Package Sidebar

Install

npm i mocha-cassettes

Weekly Downloads

3

Version

1.3.0

License

MIT

Unpacked Size

37.8 kB

Total Files

18

Last publish

Collaborators

  • bodrovis
  • kutanov