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

Maven 2 在测试阶段生成html surefire测试html输出,maven-2,surefire,Maven 2,Surefire,我不确定这是否是一个简单的问题,但我希望surefire在测试阶段生成html格式的输出文件(除了xml和txt格式的输出文件之外) 我试图通过为build>surefire添加一个“executions”条目来实现这一点。这是正确的位置吗?如果是,我做错了吗 <build> .. <plugins> .. <plugin> <groupId>org.apache.maven.plugins&

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

我试图通过为build>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> 

..
..
org.apache.maven.plugins
maven surefire报告插件
2.6
网站
测试期间
测试
报告
我希望surefire在测试阶段生成html格式的输出文件(除了xml和txt格式的输出文件之外)

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

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

我试图通过为build>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> 
如果您真的想将
surefire报告
插件绑定到
测试
阶段,我的建议是只使用
报告
目标(因为它不会重新运行测试,请参见),如下所示:

<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>
看起来没有那么慢(我使用的是Maven 3,仅此报告),并且产生了更好的结果。但是,如果您有一个复杂的站点设置,这可能不是一个选项(至少在不引入概要文件使事情变得更复杂的情况下)

相关问题

谢谢您的回复。我毫不怀疑你的答案是正确的,但出于某种原因,它没有将其写入磁盘。当我有机会的时候,我必须做更多的调试..mvn surefire报告:报告实际上是在站点阶段运行的。这意味着,如果您试图为您的发布:部署周期的测试生成报告,则需要进行全面重建(因为站点不属于一般生命周期的一部分)。但是部署:发布可能会影响POM,然后事情变得有点古怪:-)
mvn test site