제약 조건을 테스트하는 방법이 덜 비대화 된 방법이 있습니까? 제약 조건을 테스트하기에는 너무 많은 코드라고 생각됩니다.grails에서 제약 조건을 테스트하는 방법이 덜 비대해진 방법이 있습니까?
class BlogPostTests extends GrailsUnitTestCase {
protected void setUp() {
super.setUp()
mockDomain BlogPost
}
void testConstraints() {
BlogPost blogPost = new BlogPost(title: "", text: "")
assertFalse blogPost.validate()
assertEquals 2, blogPost.errors.getErrorCount()
assertEquals "blank", blogPost.errors.getFieldError("title").getCode()
assertEquals "blank", blogPost.errors.getFieldError("text").getCode()
blogPost = new BlogPost(title: "title", text: ObjectMother.bigText(2001))
assertFalse blogPost.validate()
assertEquals 1, blogPost.errors.getErrorCount()
assertEquals "maxSize.exceeded", blogPost.errors.getFieldError("text").getCode()
}
}
Daniel, 정확히 제가 생각한 것입니다. 즉, 메소드가 어떤 종류의 상태를 변경하는 알고리즘을 수행 할 때 단위 테스트를 일종의 "do not care, do not do it do not care"테스트로 작성하는 것이 좋습니다. 알고리즘의 효과. 제약 조건에는 절대적으로 블랙 박스가없고 단위 테스트에서 명백하게 가치가 없습니다. 솔직하게 말해서, 다른 이유가 없다면 제약 테스트를 작성하는 설득력있는 예제를 보길 원합니다. 왜냐하면 외관상으로는 우아한 기본 제공 테스트 프레임 워크를 사용하기를 원하기 때문입니다. ;) –
이것은 실제로 질문에 대한 답변이 아니며 단지 토론/토론의 요지에 불과합니다. – Joseph