Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to see if nock is matching the request or not?

Tags:

nock

How to see if nock is matching the request or not? Is there a way one can log information on console regarding nock is matching or not to the requests being made?

like image 953
pooja t Avatar asked Mar 01 '19 13:03

pooja t


3 Answers

The log function is no more available on newer versions of nock e.g. v13.0.0 but you can set the DEBUG environment variable to nock.* as described here https://github.com/nock/nock#debugging to log each step of the matching process. For example:

export DEBUG=nock.* && yarn test

if you're using yarn to run your tests.

like image 92
Christof Aenderl Avatar answered Sep 19 '22 22:09

Christof Aenderl


It is very simple. Just add .log(console.log) to your nock object!

nock('https://github.com')
.log(console.log)
.get('/')

Basically, nock checks all the interceptors it has active until a match is found for your request (in case you have multiple nock interceptors mocking a variety of requests). So what will be logged using .log(console.log) is,

  1. a whole url to which the request is being made.
  2. a url from the interceptor
  3. true or false, depending upon the match scenario. Hope this will help you resolve mysteries of nock :)
like image 44
pooja t Avatar answered Sep 16 '22 22:09

pooja t


You can log requests to the console using:

nock.recorder.rec();
like image 22
John Doherty Avatar answered Sep 18 '22 22:09

John Doherty