【问题标题】:Using nock to make a request made from a docker container?使用 nock 从 docker 容器发出请求?
【发布时间】:2020-02-21 14:20:06
【问题描述】:

我的端到端测试是针对我正在测试的微服务的本地 docker 环境运行的,我想从端到端测试中模拟出通过该 docker 环境发出的请求,但它只是没有好像不让我。

const requestNock = nock('https://google.com').post('/foo').reply(200);

makeRequest('127.0.0.1/bar') // This path then calls https://google.com/bar

requestNock.isDone() // Returns false

这样的事情可能吗?如果没有,是否有任何解决方案可以模拟通过本地 docker 环境做出的外部 API 响应?

【问题讨论】:

    标签: node.js api docker jestjs nock


    【解决方案1】:

    这不是 Nock 旨在处理的事情。它通过在单个 Node 进程中拦截出站 HTTP 请求来工作。

    如果不了解您的 docker 的功能,就很难说出您的选择。如果 Docker 容器内的服务没有逻辑并且它的唯一目的是在您的测试期间代理请求,那么我认为应该从测试中删除它,您可以在单个进程中锁定请求。我将这些称为集成测试。

    既然你指定你的测试是端到端的,我不得不假设 Docker 服务不仅仅是一个代理。但是,您通常不想拒绝端到端测试的任何请求,因为它否定了集成测试的优势。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-02
      相关资源
      最近更新 更多