2017-03-04 9 views
0

Warum gibt Nock mir einen Fehler, der besagt, dass Körper nicht übereinstimmen?Nocke - Körper stimmen nicht überein

Hier ist mein Code.

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(); 
    }); 

    }); 

ich diese Antwort, wenn ich die Verwendung .log

ich keine Ahnung, warum es sagt mir, Körper Spiel nicht. Ich verstehe das genau.

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

Antwort

1

Es gibt eine open issue bei Github, die Sie derzeit nicht in der Lage sind zu verwenden .delete (url, Daten).

Aber man kann es beheben leicht wie folgt aus:

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 });

Wenn Sie rufen .send (Daten) anstelle von Daten in .delete Methode übergeben Sie einfach gut funktioniert.

+0

omg lebensretter, ich würde genau das heute Morgen tun. : D haha ​​danke – user3450754

Verwandte Themen