Maven Failsafe插件

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

1.概述

Failsafe插件用于运行集成测试,而Surefire插件用于运行单元测试。
Maven生命周期有四个阶段用于运行集成测试:

  • pre-integration-test用于设置集成测试环境。
  • integration-test用于运行集成测试。
  • post-integration-test用于拆除集成测试环境。
  • verify用于检查集成测试的结果。如果您使用Surefire插件运行测试,那么当您的测试失败时,构建将在集成测试阶段停止,并且您的集成测试环境将不会被正确拆除。

Failsafe插件以两种不同的文件格式生成报告:

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

2.插件目标

故障保护插件只有两个目标:

  • 故障保护:集成测试运行应用程序的集成测试。
  • failsafe:验证应用程序的集成测试是否通过。

3.使用

要使用Failsafe插件,需要将以下配置添加到pom.xml中:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.22.0</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

可以通过调用构建生命周期的验证阶段来调用Failsafe插件。

mvn verify

4.示例

手动指定提供程序您还可以通过将特定提供程序添加为故障保护本身的依赖项来手动强制指定该提供程序:

<plugins>
[...]
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.22.0</version>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-junit47</artifactId>
        <version>2.22.0</version>
      </dependency>
    </dependencies>
  </plugin>
[...]
</plugins>

使用此技术时,不会检查项目的类路径上是否存在正确的测试框架。未能添加适当的测试框架将导致构建失败。

并行运行测试

从JUnit 4.7开始,您可以并行运行测试。为此,必须设置并行参数,并可能更改threadCount或useUnlimitedThreads属性。例如:

<plugins>
    [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.22.0</version>
        <configuration>
          <parallel>methods</parallel>
          <threadCount>10</threadCount>
        </configuration>
      </plugin>
    [...]
</plugins>

4.结论

在这个快速指南中,我们介绍了Failsafe插件,并给出了使用和定制它的说明。我们还看到了不同的插件目标及其用法。
参考:https://maven.apache.org/surefire/maven-failsafe-plugin/

相关文章

最新文章

更多