2017-09-15 7 views
0

J'apprends le moka et le noeud js.Mocha attendre 200 ou 201

Je suis à tester une requête HTTP put qui peut fonctionner comme post. Donc, je reçois soit une réponse 200 ou 201 retour. Les deux sont ok pour moi. Comment est-ce que je fais ceci avec du moka?

request(localhost) 
     .put(`/stuff`) 
     .set('Authorization', authHeader) 
     .send(serviceReq) 
     .expect(200||201, done); 
}); 

Le code ci-dessus ne fonctionne pas, comment puis-je or avec mocha dans les codes de statut?

Répondre

2

supertest (que je suppose que vous utilisez) n'a pas « ou » opération, mais vous pouvez facilement créer une attente personnalisée en passant une fonction dans laquelle vous pouvez vérifier le code d'état:

request(localhost) 
    .put(`/stuff`) 
    .set('Authorization', authHeader) 
    .send(serviceReq) 
    .expect(function(res) { 
     if (res.statusCode !== 200 && res.statusCode !== 201) { 
     throw Error('unexpected status code: ' + res.statusCode); 
     } 
    }) 

Documenté ici: https://www.npmjs.com/package/supertest#expectfunctionres-