【问题标题】:Fail test if a network request is made (using Nock)如果发出网络请求,则测试失败(使用 Nock)
【发布时间】:2021-07-26 20:56:22
【问题描述】:

我有有条件地发出网络请求的逻辑,我如何使用 Nock 进行测试,如果如果发出网络请求会失败?基本上断言对端点进行了 0 次调用。

【问题讨论】:

    标签: javascript node.js nock


    【解决方案1】:

    我可以通过监听 nock 发出的 "no match" 事件来解决这个问题。

    nock.emitter.on('no match', (req: any) => {
      throw new Error(`Unexpected request was sent to ${req.path}`);
    });
    

    【讨论】:

      【解决方案2】:

      nock.disableNetConnect() 如果发出的请求之前未被模拟,则会抛出错误。

      Docs

      【讨论】:

      • 我还在文档中读到,对任何未“锁定”的主机的任何请求都应该引发 NetConnectNotAllowedError,但这不会发生在我身上。即使向“未锁定”端点发出请求,测试仍然通过。
      • 是的....这是 Nock 方面的错误/误导性文档。
      猜你喜欢
      • 2021-11-24
      • 2017-12-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多