simple-vcr
v0.0.2
Published
SimpleVCR is a HTTP request interceptor that records and replays HTTP requests for testing.
Downloads
6
Readme
SimpleVCR
The EASY way to record and replay HTTP requests for testing.
Why
Inspired by VCR in the Ruby world, we decided to create something simple as making specs in RSpec, but for use in Node and Jest, you add some methods and works like magic!
What
SimpleVCR intercepts HTTP requests and records this requests into JSON files, it uses Nock under the hood to intercept HTTP calls and get the relevant informations for store it.
Installation
Using NPM:
npm install simple-vcr --save-dev
Using Yarn:
yarn add simple-vcr -D
Usage
For use it, you need to import it and add some methods in your beforeEach() and afterEach() cycle test:
import { SimpleVCR } from 'simple-vcr'
import { getTodos } from '@functions/todo' // Import your function
describe('getTodos', () => {
const vcr = new SimpleVCR('todo/get-todos-fixture') // Specify a path and a name for this fixture
beforeEach(() => {
vcr.on() // Turn On the VCR for intercept HTTP requests
})
afterEach(() => {
vcr.off() // It will record all your HTTP requests made in this test, in one file! and turn Off
})
it('should be success', async () => {
const responseBody = await getTodos(1)
const expectedResponse = {
userId: 1,
id: 1,
title: 'delectus aut autem',
completed: false,
}
expect(responseBody).toEqual(expectedResponse)
})
})
And that's it!
Your test should pass using real requests and record the results, run the test again and you no longer need the server running.
License
MIT