Sam*_*Sam 6 junit junit4 mockito junit5
我正在将我的代码库从junit4迁移到junit5.我在我的testcase中使用了mockito.Below是我用于依赖的不同版本.
<junit.jupiter.version>5.2.0</junit.jupiter.version>
<junit.platform.version>1.2.0</junit.platform.version>
<org.mockito.version>1.10.19</org.mockito.version>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.19.0</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我使用了注释@RunWith(MockitoJUnitRunner.class)来运行我的mockito代码.替换为@ExtendWith(MockitoExtension.class)
但是,当我运行测试用例时,我得到以下错误.任何解决此问题的建议.我怀疑是否有任何依赖版本问题导致此问题.
java.lang.NoClassDefFoundError: org/mockito/quality/Strictness
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.getDeclaredConstructor(Class.java:2178)
at..
Run Code Online (Sandbox Code Playgroud)
谢谢 - 萨姆
JUnit5 MockitoExtension使用org.mockito.quality.Strictnessso以便使用MockitoExtension你需要使用mockito-core其中包含的版本org.mockito.quality.Strictness.mockito-core:1.10.19不包含该类,因为该类是在Mockito 2.x中添加的.所以,为了使用MockitoExtension你需要至少使用2.x版本mockito-core.
该文档的Mockito没有更加明确,但我怀疑的期望是,你会使用相同版本的Mockito为mockito-core和mockito-junit-jupiter.
以下依赖项将允许您MockitoExtension成功使用JUnit5 :
<org.mockito.version>2.19.0</org.mockito.version>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${org.mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${org.mockito.version}</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |