maven package를 실행했는데 JUnit으로 만든 테스트 케이스를 실행하지 못하는 현상이 있었다.
혹시 @Ignore 애노테이션이 붙어 있어서 그런 것일까?
아님 컴파일된 테스트 클래스가 test-classes에 없어서?
이클립스 설정 문제 때문에?
발생 가능한 모든 상황들을 다 확인해 보았지만 위의 문제로 인한 것은 아니고, pom.xml에 dependency로 JUnit이 정의되어 있지 않아서 였다.
Java Build Path에는 JUnit 라이브러리가 추가되어 있는데 왜 pom.xml에 JUnit 라이브러리를 추가해야 하는지 의문이 들었지만 곧 해답을 찾을 수 있었다.
이클립스의 메이븐 플러그인은 Java Build Path의 라이브러리를 참조하지 못하고, pom.xml에 정의되어 있는 라이브러리를 이용하여 maven goal을 실행하기 때문이다.
결국 pom.xml에 JUnit dependency를 추가해야지만 정상적으로 테스트 케이스가 실행된다.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>