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

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?



Solution 1:[1]

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.

Solution 2:[2]

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 :)

Solution 3:[3]

You can log requests to the console using:

nock.recorder.rec();

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Christof Aenderl
Solution 2 Community
Solution 3 John Doherty