【发布时间】:2019-08-06 17:57:42
【问题描述】:
我想使用最新的 JUnit 版本:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.25.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.1.3.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
但是当我编译代码时,我得到了这个异常:
ar 15, 2019 5:42:45 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
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;
你知道我该如何解决这个问题吗?我使用 Java 11。
【问题讨论】:
-
您正在使用的实现 Jupiter 包的代码?
-
您可能需要 junit-platform-commons,因为这是 Junit-Jupiter-api 和 apiguardian-api 的依赖项,最后是 opentest4j,然后对于 junit-jupiter-engine,您需要 junit-platform-engine。这就是所有的依赖关系。
标签: java unit-testing junit junit-jupiter