2010-01-15 2 views
2

잘못된 데이터로 테스트중인 컨트롤러에 '게시'요청을 보내는 ActionController 파생 테스트가 있습니다. 컨트롤러가 새 개체를 만들어 저장하려고합니다. 모델에는 저장시 트리거되는 유효성 검사 메소드가 있으며 테스트에서 보낸 잘못된 데이터를 탐지하는 유효성 검증 오류를 생성합니다.레일 컨트롤러 테스트 - 유효성 검사 오류로 인해 HTTP 오류 응답이 발생하지 않습니다.

지금까지 그렇게 좋았습니다. 이제 컨트롤러는 assert_response : failure를 사용하여 HTTP 응답 상태가 실패한 지 확인합니다.

예상 응답이 < 수 : 그러나, 테스트는 말을이 단계에서 실패> 실패 만했다 <

에서 @ obj.errors

가 제대로 어떻게 든 유효성 검사 오류하지만 HTTP 응답으로 채워집니다> (200) 항상 200입니다.

실마리가 있습니까?

답변

3

컨트롤러 코드는 무엇을 수행합니까? Rails에서 유효성 검사 오류를 처리하는 일반적인 방법은 200 OK 응답을 보내는 것입니다 (예 : render :action => 'new'). 응답에는 유효성 검증 오류 메시지와 함 2 제출 된 매개 변수로 채워진 양식이 들어 있습니다.

+0

그래, 실제로 설계된 것입니다. 컨트롤러 자체는 아무 것도 할 수 없으며 요청 자체가 유효하지 않은 데이터이기 때문에 HTTP 응답이 200이어야합니다. 확인해 주셔서 감사합니다. – bhavinb