web-dev-qa-db-ja.com

テストフェーズ中にhtmlsurefireテストhtml出力を生成する

これが単純な質問かどうかはわかりませんが、テストフェーズで(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> 
16
Michael Kohout

テスト段階で、(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を使用していましたが、このレポートのみ)、はるかに良い結果が得られます。ただし、複雑なサイト設定がある場合、これはオプションではない可能性があります(少なくとも、プロファイルを導入して状況をより複雑にすることなく)。

関連する質問

20
Pascal Thivent