小编Ton*_*dle的帖子

JUnit 5 测试因使用 JMockit 依赖项而失败。如何测试引用静态方法的方法

我正在将用 JUnit 4 编写的单元测试转换为 JUnit 5。当被测试的方法调用静态方法时,我们使用 JMockit。在 JUnit 4 中,

@RunWith(JMockit.class)
public class MyTest{

}
Run Code Online (Sandbox Code Playgroud)

在 JUnit 5 中,如果我在 pom.xml 中添加 JMocket 依赖项,则使用 JMockit 的 JUnit 5 测试和不使用 JMockit 的测试失败并显示错误在此处输入图片说明

ERROR
error java.lang.NullPointerException
  at mockit.integration.junit4.internal.RunNotifierDecorator.fireTestStarted.
Run Code Online (Sandbox Code Playgroud)

如果我从 pom.xml 中删除 JMockit 依赖项,JUnit 5 测试对于那些不使用 JMockit 的测试是成功的。但其他人因错误而失败,

 mockit cannot be found.

<jmockit-version>1.38</jmockit-version>     
<junit-jupiter-version>5.2.0</junit-jupiter-version>
<maven-surefire-plugin>2.21.0</maven-surefire-plugin>
<junit-platform-runner-version>1.2.0</junit-platform-runner-version>
<junit-platform-surefire-version>1.2.0</junit-platform-surefire-version>
<mockito-junit-jupiter-version>2.18.3</mockito-junit-jupiter-version>

 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>${maven-surefire-plugin}</version>
  <configuration>
   <argLine> javaagent:"${settings.localRepository}"/org/jmockit/jmockit/${jmockit-version}/jmockit-${jmockit-version}.jar
                            -XX:-UseSplitVerifier -Xmx512m -XX:MaxPermSize=256m ${argLine}
   </argLine>
 </configuration>
</plugin>

<!-- Testing -->
    <dependency>
        <groupId>org.jmockit</groupId>
        <artifactId>jmockit</artifactId>
        <version>${jmockit-version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId> …
Run Code Online (Sandbox Code Playgroud)

jmockit junit5

5
推荐指数
1
解决办法
3886
查看次数

标签 统计

jmockit ×1

junit5 ×1