与Nock嘲笑,只模拟具有相同主机的特定路线

时间:2017-12-13 17:18:33

标签: node.js integration-testing nock

我正在使用Nock(https://github.com/node-nock/nock)来模拟我需要在我的应用程序中测试的端点调用的服务。在端点的实现中,我多次调用这个服务不足:

我想知道是否可以只嘲笑其中一个。我们来说这个: http://samehost/specificrsc2/

目前我无法实现这一目标。因为我收到这样的错误:

'FetchError: request to http://samehost/specificrsc1/ failed, reason: 
 Nock: No match for request {\n  "method": "GET",\n  "url": 
"http://samehost/specificrsc1/",

这就是我如何嘲笑这项服务:

const mockUnderlyCall = nock('http://samehost');
mockUnderlyCall.get('/samehost/specificrsc1').reply(200, mockData)

我也试试:

const mockUnderlyCall = nock('http://samehost/samehost/specificrsc1');
mockUnderlyCall.get('').reply(200, mockData)

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我想知道是否可以只模拟其中一个

是的,请使用allowUnmocked选项。

const mockUnderlyCall = nock('http://samehost', {allowUnmocked: true});

请注意,这是在documentation中列出的。