加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

迁移问题从Junit 4到Junit 5

发布时间:2020-12-15 08:27:28 所属栏目:Java 来源:网络整理
导读:我正在将我的代码库从junit4迁移到junit5.我在我的testcase中使用了mockito.Below是我用于依赖的不同版本. junit.jupiter.version5.2.0/junit.jupiter.versionjunit.platform.version1.2.0/junit.platform.versionorg.mockito.version1.10.19/org.mockito.ve
我正在将我的代码库从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>

我使用注释@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..

谢谢
萨姆

解决方法

JUnit5 MockitoExtension使用org.mockito.quality.Strictness,因此为了使用MockitoExtension,您需要使用包含org.mockito.quality.Strictness的mockito-core版本. mockito-core:1.10.19不包含该类,因为该类是在Mockito 2.x中添加的.因此,为了使用MockitoExtension,您至少需要使用版本2.x的mockito-core.

Mockito文档没有明确说明,但我怀疑期望你将使用相同的Mockito版本用于mockito-core和mockito-junit-jupiter.

以下依赖项将允许您成功使用JUnit5 MockitoExtension:

<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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读