当前位置: 首页 > 知识库问答 >
问题:

java Junit4和JUnit5没有选择JUnit5测试

阎德宇
2023-03-14

我有一个工作环境,包括我不管理的bom和JUnit5测试,除非我从importorg.junit.Test导入我的@Test测试方法注释;如果我从importorg.junit.jupiter.api.Test导入它们;它们不会被maven surefire插件拾取。我阅读了许多部分,并在一个较小的项目中进行了测试,它的工作和拾取,我不知道该在这篇文章中包含什么,因此您有足够的信息来查看问题所在。此外,如果有人能解释我阅读的导入的幕后内容,JUnit 4和5都需要使用surefire即

    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit-jupiter.version}</version>
        <scope>test</scope>
    </dependency>
    <!--JUnit Jupiter Engine to depend on the JUnit4 engine and JUnit 4 API  -->
    <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${junit-jupiter.version}</version>
    </dependency>

与版本

    <maven.surefire.version>3.0.0-M5</maven.surefire.version>
    <junit-jupiter.version>5.1.0</junit-jupiter.version>

我很感激。

注意到

    < li >我的测试都在src/test/java/下.....java < li >方法是公共的 < li >方法始于测试 < li >课程以测试结束

共有1个答案

丁翊歌
2023-03-14

发现这种依赖是冲突的,删除它解决了我的问题

    <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-runner</artifactId>
        <version>1.8.2</version>
        <scope>test</scope>
    </dependency>

还将spring boot dependencies版本更新为2.6.6,该版本与2.3.3.RELEASE有问题

 类似资料:
  • 我正在尝试将一个梅文Spring靴(2.3.12)应用程序从JUnit4转换为JUnit5。我已经阅读了很多关于如何做到这一点的不同帖子。 我能够在Eclipse中执行我的JUnit5测试。 我的问题是我无法让Maven Surefire执行我的JUnit5测试。我尝试了各种配置变体。当它到达Surefire步骤时,它只执行我以前的JUnit4测试,并且简单地忽略任何JUnit5测试。我已经验证了

  • 我已经添加了版本 注意:我还没有迁移任何测试,所有测试都是JUnit4语法。

  • 我有简单的测试 为什么maven和intellij不能执行Junit5测试?这方面的工作是什么?surefire版本应该已经支持JUnit5测试。

  • 基于此链接中的答案,创建了一个包含测试类的测试套件 返回错误 但是每个添加的测试类都有测试方法,并且单独运行

  • 目前我的工作解决方案是: =3.0.0=5.2.0 然而,当我通过Maven运行测试时,JUnit5测试被忽略了。 编辑: 测试类为:

  • 我正在尝试运行基本的JUnit5程序。使用Eclipse Oxygen.3a(4.7.3a)和OpenJDK9。获取以下错误- POM