在测试阶段生成html surefire测试html输出

时间:2010-10-29 15:42:06

标签: maven-2 surefire

我不确定这是否是一个简单的问题,但我想在测试阶段确保生成html格式的输出文件(除了xml和txt格式的输出文件)。

我试图通过为构建> surefire添加'executions'条目来实现这一点。这是正确的位置吗?如果是这样,我做错了吗?

<build>
  ..
  <plugins>
    ..
    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <outputDirectory>site</outputDirectory>

                </configuration>
                <executions>
                    <execution>
                        <id>during-tests</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin> 

1 个答案:

答案 0 :(得分:18)

  

我想在测试阶段确保生成html格式的输出文件(除了xml和txt格式的输出文件)。

最简单的方法(不运行site)可能只是调用:

mvn surefire-report:report

这将在生成报告之前运行测试(但结果不是很好,因为不会生成CSS,您必须为此运行site

  

我试图通过为构建&gt; surefire添加'executions'条目来实现这一点。这是正确的位置吗?如果是这样,我做错了吗?

如果你真的想将surefire-report插件绑定到test阶段,我的建议是使用report-only目标(因为它不会重新运行测试,请参阅{ {3}}),像这样:

<plugins>
  <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>

作为旁注,请将报告生成为网站的一部分:

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.6</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report-only</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

正在运行

mvn test site

似乎没有那么慢(我使用Maven 3,仅使用此报告)并产生更好的结果。如果你有一个复杂的网站设置,这可能不是一个选项(至少不是通过引入配置文件使事情变得更复杂)。

相关问题