2017-03-04 10 views
0

なぜNockはボディが一致しないというエラーを表示しますか?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"          
}                       

答えて

1

githubには現在.delete(url、data)を使用できません。

しかし、あなたはこのように簡単にそれを修正することができます:あなたは代わりにそれだけで正常に動作します.deleteメソッドにデータを渡す(データ).sendを呼び出す場合

mockRequest 
 
\t .delete('/user/removeuserskills', {skill: 'accountant'}) 
 
\t .reply(201, { 
 
\t \t 'status': 200, 
 
\t \t 'message': '200: Successfully deleted skill' 
 
\t }) 
 
\t .log(console.log) 
 

 
request 
 
\t .delete('/user/removeuserskills') 
 
\t //Just call .send here instead 
 
\t .send({skill: 'accountant'}) 
 
\t .end(function (err, res) { 
 
\t \t ... 
 
\t \t done(); 
 
\t });

+0

人生節約者、私は今朝それを正確にやるつもりでした。 :Dハハありがとう – user3450754

関連する問題