Postman Newman gérer les codes d'état
J'ai une question s'il est possible d'avoir plus d'un test de vérification de code d'état. Le cas est 201 lorsque l'utilisateur est créé et 409 lorsque l'utilisateur existe déjà lorsque je réexécute les cas de test avec le même lot d'utilisateurs. 201 est traité mais pas 409. une
var data = pm.response.json()
pm.test("Status test", function () {
return pm.response.to.have.status(200) || pm.response.to.have.status(409);
});
There was an error in evaluating the test script: JSONError: Unexpected token 'U' at 1:1 User already Exists ^
ÉDITER:
Car 200je reçois un objet utilisateur, je ne peux pas publier cet objet ici
pour la 409chaîne L'utilisateur existe déjà
Réponses
Une façon plus élégante de tester le statut 200 ou 409 serait:
pm.expect(pm.response.code).to.be.oneOf([200, 409]);
L'erreur se produit lorsque l'état est 409, car la demande ne renvoie pas JSON, mais une chaîne. Je mettrais quelque chose comme
if (pm.response.code == 200) {
var data = pm.response.json()
// your code
}
Mais je vous conseille vivement de ne pas faire ça! En termes de test, vous voulez qu'un test ne vérifie qu'une seule chose. Sinon, cela conduira très probablement à des malentendus et à des efforts de maintenance accrus.
Je proposerais de créer une demande pour créer des utilisateurs, avec des tests correspondants. Et un autre, qui essaie de recréer les utilisateurs, encore une fois avec des tests correspondants.