【问题标题】:How to see if nock is matching the request or not?如何查看 nock 是否匹配请求?
【发布时间】:2019-07-23 13:28:54
【问题描述】:

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

【问题讨论】:

    标签: nock


    【解决方案1】:

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

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

    基本上,nock 会检查它激活的所有拦截器,直到找到与您的请求匹配的内容(如果您有多个 nock 拦截器模拟各种请求)。那么使用.log(console.log) 记录的内容是,

    1. 发出请求的完整网址。
    2. 拦截器的网址
    3. true 或 false,取决于比赛场景。 希望这将帮助您解决 nock 的奥秘:)

    【讨论】:

    • 当我尝试上面的代码时,我得到了TypeError: (0 , _nock.default)(...).get(...).log is not a function
    • @EdwardD'Souza 调用 log() as nock(...).log()
    【解决方案2】:

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

    export DEBUG=nock.* && yarn test
    

    如果您使用 yarn 来运行测试。

    【讨论】:

    • 如果您打算来回显示调试输出到隐藏它,我建议您使用以下单个命令:DEBUG=nock.* yarn test(或npm test 或其他)。这样,如果您删除第一部分,调试输出就会消失。
    猜你喜欢
    • 2021-02-03
    • 2018-07-18
    • 2015-11-21
    • 2020-08-09
    • 2019-07-19
    • 2021-01-25
    • 2019-01-27
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多