Postacı newman durum kodlarını işlemek
Testte birden fazla durum kodu kontrolüne sahip olmanın mümkün olup olmadığı konusunda bir sorum var. Durum, kullanıcı oluşturulduğunda 201 ve aynı kullanıcı grubuyla test olaylarını yeniden çalıştırdığımda kullanıcı zaten var olduğunda 409'dur. 201 işlendi, ancak 409 değil. a
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 ^
DÜZENLE:
İçin 200i kullanıcı nesnesi alıyorum ben burada bu nesneyi gönderemezsiniz
için 409dize Kullanıcı zaten Var
Yanıtlar
Durum 200 veya 409 için test etmenin daha zarif bir yolu şudur:
pm.expect(pm.response.code).to.be.oneOf([200, 409]);
Hata, durum 409 olduğunda ortaya çıkar, çünkü bu durumda istek JSON değil, bir dize döndürür. Gibi bir şey koyardım
if (pm.response.code == 200) {
var data = pm.response.json()
// your code
}
Ama bunu yapmamanızı şiddetle tavsiye ediyorum! Test açısından, bir testin yalnızca bir şeyi kontrol etmesini istersiniz. Aksi takdirde bu, büyük olasılıkla yanlış anlamalara ve artan bakım çabalarına yol açacaktır.
Kullanıcıları oluşturmak için testlere göre bir istek oluşturmayı öneririm. Ve yine testlere göre kullanıcıları yeniden yaratmaya çalışan bir tane daha.