Dev

[junit5] WARNING: TestEngine with ID 'junit-jupiter' failed to execute tests 에러가 발생하는 경우

Ryan Woo 2019. 2. 20. 12:28

junit5 를 사용하기 위해 junit-jupiter-engine dependency 를 추가하고 테스트를 실행해 보면 다음과 같은 에러가 발생하는 경우가 있다.

1
2
WARNING: TestEngine with ID 'junit-jupiter' failed to execute tests
java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(Ljava/lang/String;)Lorg/junit/platform/commons/function/Try;
cs

검색을 해보니 여러가지 케이스가 있는데 필자의경우는 org.junit.platform.commons 의 버전이 1.3.2가 들어와 있었다. 1.3.2 버전에는 ReflectionUtils 에 tryToLoadClass 메소드가 없어서 나는 에러여서 maven pom.xml 에 1.3.2 버전엔 dependency 들을 다른 라이브러리들과 버전이 맞도록 강제로 1.4 버전으로 올려 주었다.

Junit 사이트 참고 : https://junit.org/junit5/docs/current/user-guide/#running-tests-ide-intellij-idea

1
2
3
4
5
6
7
8
9
10
11
12
13
14
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-commons -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-commons</artifactId>
            <version>1.4.0</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-engine -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-engine</artifactId>
            <version>1.4.0</version>
            <scope>test</scope>
        </dependency>
cs