저는 현재 소형 라이브러리를위한 단위 테스트를 다소 완성시키기 위해 노력하고 있습니다. 서로 다른 구현을 허용하기를 원하기 때문에이 테스트 세트를 (a) 일반화하여 다른 구현을 테스트하기 위해 재사용 할 수 있고 (b) 가능한 한 완벽 해지기를 원합니다. (b) 부분에 대해서는 enum 유형을 테스트하기위한 최선의 방법이 있는지 알고 싶습니다.enum 유형을 테스트하는 방법은 무엇입니까?
public enum Month {
January,
February,
...
December;
}
을 여기에 모두 열거 유형이 실제로 존재하는지 확인하려면 다음과 같이 그래서 예를 들어 내가 열거 있습니다. 그게 필요한가요? 현재 내가 다음 예에서와 같이 Hamcrests에게 assertThat
을 사용하고 있습니다 :
assertThat(Month.January, is(notNullValue()));
누락 "1월"열거 한 창조 누락 된 열거 형에 의해 해결할 수 컴파일 타임 오류가 발생합니다. 내가 여기에 자바를 사용하고 있지만, 당신의 대답은 다른 언어의 경우 난 상관 없어
..
편집 : mkato 마크 히스로
지적 모두 한 테스트 열거 할 수있다 열거 형을 사용하고있을 때 컴파일러가 컴파일되지 않기 때문에 필요하지 않습니다. 하지만 다른 테스트에서 동일한 테스트를 실행하는 별도의 TCK와 같은 test.jar을 빌드하고자하므로이 열거 형을 테스트하고 싶습니다. 그래서 내 질문은 더 많은 의미가 있었다 : 열거 형을 테스트하는 가장 좋은 방법은 무엇입니까?
은 그것에 대해 생각하면 조금 더 나는 위의 Hamcrest 문을 변경 : 1 월이 없을 때 이assertThat(Month.valueOf("January"), is(notNullValue()));
이 문은 지금 NPE가 발생합니다 (아직). 이 접근법에 문제가 있습니까?
나는 테스트하고 싶은 한가지 메소드를 가지고있는 enum을 가지고있다. 나는 단위 테스트에서 신참이다. 그리고 그 메소드에 대한 테스트 케이스를 작성하는 방법을 알 수 없다. 예제를 제공하거나 도움을 줄 수 있습니까? . – dirtydexter
"assertThat (Month.January, is (notNullValue()));" OP의 질문에 당신을위한 예제가 충분하지 않아, 나는 당신이 별도의 질문으로 질문하고 당신이 테스트하려고하는 것에 대한 예를 제공하는 것이 낫다고 생각합니다. JUnit 자체에 도움이 필요할 것 같아서 나에게 들립니다. – aberrant80
그래, 고마워. – dirtydexter