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.*;
我们有一个简单的 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.*;