如何查看nock是否与请求匹配?

poo*_*oja 7 nock

如何查看nock是否与请求匹配?有没有一种方法可以在控制台上记录有关 nock 是否与正在发出的请求匹配的信息?

Chr*_*erl 9

log功能在较新版本的 nock 上不再可用,例如 v13.0.0,但您可以将DEBUG环境变量设置为nock.*如下所述https://github.com/nock/nock#debugging以记录匹配过程的每个步骤。例如:

export DEBUG=nock.* && yarn test
Run Code Online (Sandbox Code Playgroud)

如果你使用纱线来运行你的测试。

  • 如果您打算从显示调试输出到隐藏它,我建议您使用以下单个命令:“DEBUG=nock.*yarn test”(或“npm test”或其他)。这样,如果删除第一部分,调试输出就会消失。 (3认同)

poo*_*oja 7

这很简单。只需添加.log(console.log)到您的诺克对象!

nock('https://github.com')
.log(console.log)
.get('/')
Run Code Online (Sandbox Code Playgroud)

基本上,nock 会检查它所激活的所有拦截器,直到为您的请求找到匹配项(以防您有多个 nock 拦截器模拟各种请求)。所以将使用什么来记录.log(console.log)

  1. 正在向其发出请求的整个 url。
  2. 来自拦截器的 url
  3. true 或 false,取决于匹配场景。希望这能帮助你解开诺克之谜:)

  • 当我尝试上面的代码时,我收到 `TypeError: (0 , _nock.default)(...).get(...).log is not a function` 。 (2认同)