【问题标题】:Nock - Bodies don't matchNock - 身体不匹配
【发布时间】:2017-03-04 06:37:40
【问题描述】:

为什么 Nock 给我一个错误说身体不匹配??

这是我的代码。

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"                                     
}                                                                                          

【问题讨论】:

    标签: node.js mocha.js chai supertest nock


    【解决方案1】:

    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 方法,它就可以正常工作。

    【讨论】:

    • omg 救生员,今天早上我正打算这样做。 :D 哈哈谢谢
    猜你喜欢
    • 2021-02-03
    • 2018-07-18
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2020-08-09
    • 1970-01-01
    • 2019-07-23
    相关资源
    最近更新 更多