![](/img/trans.png)
[英]Mocha Chai with Nock: why am I getting timeout errors when doing cleanup in 'after()' and 'afterEach()'?
[英]Why is nock matching request when body, time and timeout should not match?
我的服务请求已收到通知,在这种情况下,我希望收到一个nock错误(nock:请求POST不匹配),但得到成功的响应。 想知道为什么!
nock(`http://localhost`, {
reqheaders: {
'Content-Type': 'application/json'
}
})
.post('/')
.reply(201, function () {
return fs.readFileSync(`./data/mock-response.json`, 'utf8');
});
实际的服务电话是
request(
url: 'http://localhost/',
time:true,
timeout: 5000,
method: 'POST',
headers: {
Content-Type: 'application/json
},
body: {
test:'test'}
)
在以下参数上与nock body,time,timeout不匹配,仍然nocks返回我正确的儿子
您需要在nock
对象中指定一个body
,否则nock会根据URL和动词截取它。
根据官方的nock文档 ,必须指定一个主体才能进行匹配。
您的nock对象看起来像这样:
nock(`http://localhost`, {
reqheaders: {
'Content-Type': 'application/json'
}
})
.post('/', {
test: 'test'
})
.reply(201, function () {
return fs.readFileSync(`./data/mock-response.json`, 'utf8');
});
根据doc:您可以将要匹配的请求正文指定为get,post,put或delete规范的第二个参数。
它没有说必须 。 如果未指定正文,则所有帖子都将匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.