PUT正在阻止GET?

时间:2019-04-01 15:03:31

标签: node.js nock

我正在尝试使用nock拦截PUT请求,但是确实有些奇怪...

我的代码有2个调用,一个GET请求

http://internal-jira.com/rest/api/2/issue/CCC-2142

以及带有有效载荷的PUT请求

http://internal-jira.com/rest/api/2/issue/CCC-2142
     { fields: { reporter: { name: '8778469' } } }

过程是先执行GET,然后使用那里的信息进行PUT。

所以我还创建了2个模拟调用,其中一个用于GET

nock('http://internal-jira.com.com', {allowUnmocked: true}).persist()

.get(/\/rest\/api\/2\/issue\/.*/)
.reply(400, (uri) => {
console.log(`!!!! Mocked GET: ${uri} !!!`);
})

和一个用于PUT

 .put(/\/rest\/api\/2\/issue\/.*/)
 .reply(400, (uri) => {
 console.log(`!!!! Mocked PUT: ${uri} !!!`);
 })

如果GET代码处于活动状态并且我运行我的代码,那么我在获取console.log()时可以看到代码已被捕获

!!!! Mocked GET: /rest/api/2/issue/CCC-2144 !!!

但是,如果我在运行代码时注释掉GET并启用了PUT,则它会失败并在GET上出错,而​​不会被模拟。

就好像PUT模拟一样,是在某种程度上拦截了GET请求(我猜是因为url相同),但实际上并未对其进行任何操作,而且也没有让GET请求通过?

请帮助我我做错了什么。

谢谢

0 个答案:

没有答案