Maven Surefire插件

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

1.概述

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

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

2.插件目标

Surefire插件只有一个目标:

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

3.使用

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

<project>
  [...]
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  [...]
</project>

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

mvn test

4.配置编译器插件

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

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.21.0</version>
    <configuration>
        <excludes>
            <exclude>DataTest.java</exclude>
        </excludes>
        <includes>
            <include>DataCheck.java</include>
        </includes>
    </configuration>
</plugin>

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

5.示例

1.跳过测试

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

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

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

mvn install -DskipTests

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

mvn install -Dmaven.test.skip=true

More examples

6.结论

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

相关文章

微信公众号

最新文章

更多