これが単純な質問かどうかはわかりませんが、テストフェーズで(xmlおよびtxt形式の出力ファイルに加えて)html形式の出力ファイルを確実に生成したいと思います。
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>
テスト段階で、(xmlおよびtxt形式の出力ファイルに加えて)html形式の出力ファイルを確実に生成したいと思います。
(site
を実行せずに)最も簡単な方法は、おそらく単に呼び出すことです。
mvn surefire-report:report
これにより、レポートを生成する前にテストが実行されます(ただし、CSSが生成されないため、結果はそれほど良くありません。そのためにはsite
を実行する必要があります)。
Build> surefireの「executions」エントリを追加してこれを実現しようとしました。これはこれに適した場所ですか?もしそうなら、私はそれを間違っていますか?
surefire-report
プラグインをtest
フェーズにバインドしたい場合は、report-only
ゴールを使用することをお勧めします(テストが再実行されないため、 SUREFIRE-257 )、このように:
<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を使用していましたが、このレポートのみ)、はるかに良い結果が得られます。ただし、複雑なサイト設定がある場合、これはオプションではない可能性があります(少なくとも、プロファイルを導入して状況をより複雑にすることなく)。