诺克 - 身体不匹配
Nock - Bodies don't match
为什么诺克给我一个错误,说身体不匹配?
这是我的代码。
it('Should Delete /user/removeuserskills', function(done){
mockRequest
.delete('/user/removeuserskills',{skill:'accountant'})
.reply(201,{
'status':200,
'message': '200: Successfully deleted skill'
})
.log(console.log)
request
.delete('/user/removeuserskills',{skill:'accountant'})
.end(function(err, res){
if(err){
console.log(err);
}
else{
expect(res.body.status).to.equal(200);
expect(res.body.message).to.equal('200: Successfully deleted skill');}
done();
});
});
我在使用 .log
时收到此响应
我不知道为什么它告诉我身体不匹配。我特别明白。
matching http://localhost:8080 to DELETE http://localhost:8080/user/removeuserskills: true
bodies don't match:
{ skill: 'accountant' }
{ Error: Nock: No match for request {
"method": "DELETE",
"url": "http://localhost:8080/user/removeuserskills"
}
github 处有一个 open issue,您目前无法使用 .delete(url, data)。
但您可以像这样轻松修复它:
mockRequest
.delete('/user/removeuserskills', {skill: 'accountant'})
.reply(201, {
'status': 200,
'message': '200: Successfully deleted skill'
})
.log(console.log)
request
.delete('/user/removeuserskills')
//Just call .send here instead
.send({skill: 'accountant'})
.end(function (err, res) {
...
done();
});
如果您调用 .send(data) 而不是将数据传递到 .delete 方法,它就可以正常工作。
为什么诺克给我一个错误,说身体不匹配?
这是我的代码。
it('Should Delete /user/removeuserskills', function(done){
mockRequest
.delete('/user/removeuserskills',{skill:'accountant'})
.reply(201,{
'status':200,
'message': '200: Successfully deleted skill'
})
.log(console.log)
request
.delete('/user/removeuserskills',{skill:'accountant'})
.end(function(err, res){
if(err){
console.log(err);
}
else{
expect(res.body.status).to.equal(200);
expect(res.body.message).to.equal('200: Successfully deleted skill');}
done();
});
});
我在使用 .log
我不知道为什么它告诉我身体不匹配。我特别明白。
matching http://localhost:8080 to DELETE http://localhost:8080/user/removeuserskills: true
bodies don't match:
{ skill: 'accountant' }
{ Error: Nock: No match for request {
"method": "DELETE",
"url": "http://localhost:8080/user/removeuserskills"
}
github 处有一个 open issue,您目前无法使用 .delete(url, data)。
但您可以像这样轻松修复它:
mockRequest
.delete('/user/removeuserskills', {skill: 'accountant'})
.reply(201, {
'status': 200,
'message': '200: Successfully deleted skill'
})
.log(console.log)
request
.delete('/user/removeuserskills')
//Just call .send here instead
.send({skill: 'accountant'})
.end(function (err, res) {
...
done();
});
如果您调用 .send(data) 而不是将数据传递到 .delete 方法,它就可以正常工作。