我的nock调用如下所示
app_url='myshop.app.com'
result = nock(app_url, {
reqheaders: {
"content-type": "application/json",
'authorization': 'Basic Auth'
}
})
.get('/admin/products.json?collection_id=10001&limit=250&fields=id')
.reply(200, {
"products": [
{ "id": 101},
{"id": 102},
]
});解决:
(node:1378) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Nock: No match for request { . 但现在,
==========updated=============
我已经更新了我的调用,它没有抛出错误,但现在它没有截获request....It仍在点击shopify来获取数据
发布于 2019-02-28 23:04:19
只需在作用域{ allowUnmocked: true }中添加标志
nock('https://host.com', { allowUnmocked: true })
.post(`/path`)
.reply(200, {answer: "any"});发布于 2017-12-01 15:14:08
当找不到与正在命中的URL匹配的nock时,就会发生这种情况。正在命中的url是
https://myshop.app.com/admin/products.json?collection_id=201&limit=10&fields=id
如错误消息中所示。您正在查找的URL与此URL不对应。
像这样的东西应该行得通。
app_url = "https://myshop.app.com/"
result = nock(app_url, {
reqheaders: {
"content-type": "application/json",
}
})
.get('/admin/products.json?collection_id=201&limit=10&fields=id').
.reply(200, {
"products": [{
"id": 101
}, {
"id": 102
}, ]
});有关nock的确切方法的更多详细信息,可以在Nock Documentation中找到。
发布于 2019-11-17 15:21:41
nocked的URL必须与Node执行的URL完全相同,以避免出现“Nock: No match for request”错误。所以你需要做的就是:
nock('https://host.com')
.log(console.log) // log the mocked URL so that you will know if they're
// the same or not.
.post(`/path`)
.reply(200, {answer: "any"});https://stackoverflow.com/questions/47587552
复制相似问题