如何模拟HTTP请求。我正在使用NPM请求包。诺克似乎不起作用

时间:2017-12-20 14:19:35

标签: node.js unit-testing npm mocha nock

我正在尝试使用Nock。它根据我的模拟定义匹配URL。

虽然问题是我的实际请求失败了。而且我无法测试我使用Nock设置的响应。

我的nock定义如下:

nock(process.env.BASE_URL)
.post("/v1.0/api/item", JSON.stringify({"key": "S123"}))
.reply(200, "K123")
.log((data) => console.log(data));

request.post({
  headers: headers,
  url: process.env.BASE_URL + '/' + url,
  body: JSON.stringify(body)
}, function (error, response) {
  if ( error ) {
     ...
  }
  
}

它正在进入错误块。这是预期的吗?

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法。我意识到我必须将.reply()的预期响应json提供给nock。