maven-surefire 插件不是 运行 几个 Junit5 测试配置文件

maven-surefire plugin is not running few of the Junit5 test profiles

我们有一个简单的 Junit/Junit5 和基于 Maven-surefire 的测试框架。

我们运行 使用以下命令进行测试:

mvn clean test -PlistingGROUP
mvn clean test -PsignUpGROUP
mvn clean test -PloginGROUP

这些组在 POM.xml

的部分下定义
  <profile>
        <id>listingGROUP</id>
        <properties>
            <groups>listingTag</groups>
        </properties>
    </profile>

    <profile>
        <id>loginGROUP</id>
        <properties>
            <groups>loginTag</groups>
        </properties>
    </profile>

    <profile>
        <id>signUpGROUP</id>
        <properties>
            <groups>signUpTag</groups>
        </properties>
    </profile>
        <profile>
        <id>allTests</id>
        <properties>
            <groups>signUpTag,listingTag,loginTag</groups>
        </properties>
    </profile>

surefire 插件在 POM.xml

build 部分下定义
           <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.0</version>
            <!--                   ***********************************************************************     -->
            <!--                                ***OPTION 2:: Configure groups , as below & remember to disable Option1 ***-->
            <!--                   ***********************************************************************     -->
            <!--                                <configuration>-->
            <!--                                        <groups>smokeTag</groups>-->
            <!--                                </configuration>-->
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>

当测试 运行 使用 maven 命令时,它会跳过列表测试(当 运行 单独或作为 allTests 配置文件的一部分时) 我尝试创建新测试 class 并注意到 - 它只是 运行 宁注册测试和登录测试

POM.xml 详情:

在从项目中删除所有 Juni4 依赖项以及将导入更正为现代 Junit5 Jupiter 导入后,问题得到解决,

import org.junit.jupiter.api.*;

而不是导入冲突

import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.*;