Diffblue报错
报错问题:
在IDEA中使用Diffblue的Write Test生成的单元测试代码报错,具体的报错报文为:
java.lang.NoSuchMethodError: org.mockito.internal.runners.RunnerFactory.create(Ljava/lang/Class;)Lorg/mockito/internal/runners/RunnerImpl;
提示找不到方法。
原因分析:
自动生成的单元测试代码中引入了错误的包,该包主要用于@RunWith(MockitoJUnitRunner.class)注解。
import org.mockito.runners.MockitoJUnitRunner; \\错误的包
import org.mockito.junit.MockitoJUnitRunner; \\要被替换的包
版本依赖:
<!--单元测试依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--导入Mockito单元测试依赖-->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.8.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>