簡體   English   中英

maven surefire 報告插件配置

[英]maven surefire reporting plugin configuration

我有一個多模塊 Maven 項目。 父 pom.xml 只是引用 4 個子項目的公共信息的一種方式。 我有很多運行的 JUnit 測試,我還使用maven-info-reports-plugin為 Project WebSite 設置了父項目。

我在父項中配置了maven-surefire-report-plugin ,它會在每個子項目中生成target/site/surefire-report.html文件,並提供正確的信息。

我的問題是當我通過site:run運行我的項目網站時,我在項目網站中看不到任何surefire-report.html文件。 顯示的是在父目錄的目標目錄中,它沒有定義單元測試。

有沒有辦法可以配置maven-surefire-report-pluginmaven-info-reports-plugin來聚合子項目生成的 surefire 報告?

詳細說明Seph的回答。 您可以設置許多 Maven 報告來聚合結果。 要使用 surefire-report 插件執行此操作,您可以執行以下操作:

<reporting>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-report-plugin</artifactId>
      <version>2.4.2</version>
      <configuration>
        <aggregate>true</aggregate>
        <!--also set this to link to generated source reports-->
        <linkXRef>true</linkXRef>
      </configuration>
    </plugin>
  </plugins>
</reporting>

請注意附加的 linkXRef 屬性,這允許您向jxr 插件生成的源代碼的生成 html 版本添加交叉引用。 jxr 插件也可以設置為聚合,因此兩者結合可以讓您瀏覽整個項目結構。

據我所知, maven-info-reports-plugin 不做聚合。

你可以加

<aggregate>true</aggregate>

到父 pom.xml 中的 surefire 插件。

對於命令行

mvn surefire-report:report -Daggregate=true

它可能是 -

mvn clean test -fn surefire-report:report  -Daggregate=true
OR
mvn clean install -fn surefire-report:report  -Daggregate=true

注意: fn -> 永遠不要讓構建失敗,無論項目結果如何

在 pom 中添加

<aggregate>true</aggregate>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM