Maven Surefire插件

x33g5p2x  于2022-10-14 转载在 Maven  
字(1.8k)|赞(0)|评价(0)|浏览(939)

1.概述

Surefire插件在构建生命周期的测试阶段用于执行应用程序的单元测试。它以两种不同的文件格式生成报告:

  • 纯文本文件(*.txt)
  • XML文件(.XML)默认情况下,这些文件是在${basedir}/target/surefire-reports/TEST-.XML中生成的。

2.插件目标

Surefire插件只有一个目标:

  • surefire:test运行应用程序的单元测试。

3.使用

最佳实践是定义要在pom中使用的Surefire插件的版本。xml或父pom.xml:

  1. <project>
  2. [...]
  3. <build>
  4. <pluginManagement>
  5. <plugins>
  6. <plugin>
  7. <groupId>org.apache.maven.plugins</groupId>
  8. <artifactId>maven-surefire-plugin</artifactId>
  9. <version>2.22.0</version>
  10. </plugin>
  11. </plugins>
  12. </pluginManagement>
  13. </build>
  14. [...]
  15. </project>

可以通过调用构建生命周期的测试阶段来调用Surefire插件。

  1. mvn test

4.配置编译器插件

surefire插件可以与测试框架JUnit和TestNG一起工作。无论我们使用哪种框架,surefire的行为都是相同的。
默认情况下,surefire会自动包含名称以test开头或以test、Tests或TestCase结尾的所有测试类。
我们可以使用排除和包含参数更改此配置,但是:

  1. <plugin>
  2. <artifactId>maven-surefire-plugin</artifactId>
  3. <version>2.21.0</version>
  4. <configuration>
  5. <excludes>
  6. <exclude>DataTest.java</exclude>
  7. </excludes>
  8. <includes>
  9. <include>DataCheck.java</include>
  10. </includes>
  11. </configuration>
  12. </plugin>

通过这种配置,DataCheck类中的测试用例被执行,而DataTest中的测试案例则不被执行。

5.示例

1.跳过测试

要跳过运行特定项目的测试,请将skipTests属性设置为true。

  1. <project>
  2. [...]
  3. <build>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.apache.maven.plugins</groupId>
  7. <artifactId>maven-surefire-plugin</artifactId>
  8. <version>2.22.0</version>
  9. <configuration>
  10. <skipTests>true</skipTests>
  11. </configuration>
  12. </plugin>
  13. </plugins>
  14. </build>
  15. [...]
  16. </project>

您还可以通过执行以下命令,通过命令行跳过测试:

  1. mvn install -DskipTests

如果您绝对需要,也可以使用maven.test。skip属性跳过编译测试。maven.test测试。skip由Surefire、Failsafe和编译器插件提供。

  1. mvn install -Dmaven.test.skip=true

More examples

6.结论

在这篇快速文章中,我们介绍了surefire插件,描述了它的唯一目标以及如何配置它。一如既往,本教程的完整源代码可以在GitHub上找到。
https://maven.apache.org/surefire/maven-surefire-plugin/

相关文章

最新文章

更多