maven-surefire 插件没有运行少数 Junit5 测试配置文件

Posted

技术标签:

【中文标题】maven-surefire 插件没有运行少数 Junit5 测试配置文件【英文标题】:maven-surefire plugin is not running few of the Junit5 test profiles 【发布时间】:2021-08-24 14:17:26 【问题描述】:

我们有一个简单的基于 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 配置文件的一部分运行时) 我尝试创建新的测试类并注意到 - 它只运行注册测试和登录测试

POM.xml 详细信息:

【问题讨论】:

First do not use images 第二次将您的 maven-surefire-plugin 版本升级到至少 2.22.2 或更高版本(从我的 POV 来看最好是 3.0.0-M4)。也不需要所有配置文件,因为surefire支持该组标签...maven.apache.org/surefire/maven-surefire-plugin/… 【参考方案1】:

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

import org.junit.jupiter.api.*;

而不是有导入冲突

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

【讨论】:

以上是关于maven-surefire 插件没有运行少数 Junit5 测试配置文件的主要内容,如果未能解决你的问题,请参考以下文章

MySql 没有为少数查询选择正确的索引

如何解决此 bean 定义覆盖?

eclipse maven构建

wordpress 中的 tinyMCE 不能在少数计算机上运行,​​并且只能在少数计算机上运行

canvas.clipPath() 在少数设备上不起作用

寻找一个结合了对少数网络技术的理解的问题[关闭]