Maven surefire插件输出测试摘要xml?

问题描述

我在一个使用Surefire和Failsafe maven插件分别运行单元和集成测试的项目中。故障安全输出生成target/failsafe/failsafe-summary.xml中运行测试的摘要。我想从surefire获得类似的.xml摘要报告,但是我似乎只能在每个测试套件中获得一个xml文件

enter image description here

是否可以配置surefire来做到这一点?

解决方法

是否可以配置surefire来做到这一点?

(创建1个报告文件/运行而不是1个/测试套件)

否,并非没有自定义surefire / surefire-report插件。

由于(surefire-plugin:test的唯一(最新)“与输出相关”的配置选项是:

  • 编码
  • redirectTestOutputToFile
  • reportFormat(默认-“简短”,或者-“纯文本”(* .txt文件))
  • reportNameSuffix
  • reportsDirectory

surefire-report插件的唯一用途是生成Maven报告(html!)。


对于这种特殊需要,我建议您使用自定义脚本或(Maven)插件(基于以上一种方法-它们是开源的)。您还可以尝试通过将所有测试课程/套件组合为一个来尝试“从源头解决问题”! :)

,

Maven Surefire Report Plugin

这是我们的权利,因为:

Surefire报表插件会解析TEST-*.xml下生成的${basedir}/target/surefire-reports文件,并使用DOXIA渲染它们,该文件会创建测试结果的Web界面版本。

根据https://maven.apache.org/surefire/maven-surefire-report-plugin/usage.html,我们可以:

生成报告作为项目报告的一部分

要在站点生成过程中生成Surefire报告,请在POM的<reporting>部分中添加以下内容:

<project>
    ...
    <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>3.0.0-M5</version>
        </plugin>
      </plugins>
    </reporting>
    ...
  </project>

调用mvn site时,该报告将自动包含在“项目报告”菜单中,如下图所示。

...或

以独立方式生成报告

该插件还可以使用其独立目标生成报告:

mvn surefire-report:report HTML报告应在${basedir}/target/site/surefire-report.html中生成。

欢迎光临! ;)