Postman newman 핸들 상태 코드
Sep 22 2020
테스트에서 둘 이상의 상태 코드 검사가 가능한지 궁금합니다. 케이스는 사용자가 생성 될 때 201이고 동일한 사용자 배치로 테스트 케이스를 다시 실행하면 사용자가 이미 존재하는 경우 409입니다. 201은 처리되지만 409는 처리되지 않습니다. ㅏ
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 ^
편집하다:
들어 200난 사용자 개체를 얻고 난 여기에이 객체를 게시 할 수 없습니다
대한 409문자열 사용자가 이미
답변
1 ChristianBaumann Sep 22 2020 at 19:47
상태 200 또는 409를 테스트하는 더 우아한 방법은 다음과 같습니다.
pm.expect(pm.response.code).to.be.oneOf([200, 409]);
상태가 409 일 때 오류가 발생합니다. 요청이 JSON이 아니라 문자열을 반환하기 때문입니다. 나는 다음과 같은 것을 넣을 것이다
if (pm.response.code == 200) {
var data = pm.response.json()
// your code
}
하지만 이렇게하지 말라고 강력히 권합니다! 테스트 측면에서 하나의 테스트가 한 가지만 확인하기를 원합니다. 그렇지 않으면 아마도 오해와 유지 관리 노력이 증가 할 것입니다.
테스트에 따라 사용자 생성 요청을 하나 만들 것을 제안합니다. 또 다른 테스트는 사용자를 다시 생성하려고 시도합니다.