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 测试配置文件的主要内容,如果未能解决你的问题,请参考以下文章