지금까지 ActiveRecord에서 상속받은 3 개의 클래스로 구성된 간단한 레일 앱을 만들었습니다. 테스트 할 클래스를 이미 작성 했으므로 테스트 중심 개발에 조금 앞선 것입니다. 지금까지 작성한 테스트는 모두 잘 진행되었습니다. 객체가 생성되고 속성이 응답하며 유효성 검사가 모두 완료됩니다.레일스 용 RSpec 및 ActiveRecord : 효과적인 테스트 작성 방법
문제는 "!" 내 생성 방법에, 지금부터 개체가 데이터베이스에 모든 방법을 통해 전달되고있다. 무효 입력을 가로 채기위한 정상적인 유효성 검사 대신 데이터베이스가 자극에 응답 할 수있는 기회를 얻고있는 것으로 보입니다.
지금까지 내 테스트를 실행할 때 내가받은 오류 :
액티브 :: RecordInvalid : 검증 실패 : 가게 (최대 11 자)
나는 기뻐요 너무 깁니다 이 오류가 발생하지만 내 테스트에서이 오류를 더 잘 계획하는 방법을 알고 싶습니다. 위의 오류를 생성하는 코드는 다음과 같습니다 당신이 모두 그 형태가되어야한다 무엇에 도움이 되거 수 희망 long_id_department.should_not be_valid
:
it "should not a accept a department with a shopify shop_id that's over 11 chars" do
long_id = "9" * 12
long_id_department = Department.create!(@attr.merge(:id => [long_id, ""]))
long_id_department.should_not be_valid
end
나는 특히이 라인은 다른 형태를 가정해야한다고 가정.
네가 맞지만 다른 해결책은 좀 더 우아 해. 당신은 추가 뚱뚱한 가진 해결책을 제공하기를위한 투표를 얻는다 그러나. – Bnjmn