默认生命周期中的maven surefire报告

时间:2016-08-31 11:50:55

标签: maven maven-surefire-plugin

如何在maven的默认生命周期中生成surefire报告。我们在teamcity中设置了目标为

的工作
mvn clean install -Pprod

这个作业运行所有的junits,我想创建项目中运行的所有测试的HTML报告。我遇到了sure-fire-reports插件,但它仅在站点阶段生成报告,它在默认的干净安装阶段不会生成报告。

请一定帮助我如何生成报告默认生命周期

我尝试将surefire-reports插件包含在测试阶段,如下所示,但不起作用

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>report-only</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

1 个答案:

答案 0 :(得分:0)

如果您需要maven-surefire-report-plugin生成的报告,除了执行mvn site之外,我没有别的办法,因为报告只在构建生命周期的site阶段执行。 / p>

相反,如果您只需要一个HTML可读的报告,我建议您这样做:

  • 利用target / surefire-reports目录中maven-surefire-plugin生成的XML文件。
  • 编写您自己的转换表(XSL),将它们转换为所需的HTML格式。
  • 在pom中,通过prepare-package在下一阶段(例如,xml-maven-plugin)设置转换。

如果将XSL放在父项目中并在父pom中设置此转换,则所有子模块项目都应该继承它并在相应的构建期间生成HTML报告。

最后:如何从父项目中浏览子HTML报告?嗯...我想说编写Ant脚本来浏览所有子模块并列出HTML文件并用它们生成HTML索引。该脚本只能从父项目中执行。