11 Stimmen

Konfiguration des Maven Surefire Reporting Plugins

Ich habe ein Multimodul-Maven-Projekt. Die übergeordnete pom.xml ist einfach eine Möglichkeit, gemeinsame Informationen für die 4 Unterprojekte zu referenzieren. Ich habe eine ganze Reihe von JUnit-Tests, die laufen und ich habe auch das übergeordnete Projekt für das Projekt WebSite mit dem maven-info-reports-plugin .

Ich habe die maven-surefire-report-plugin konfiguriert, und es erzeugt die ziel/site/surefire-bericht.html Datei in jedem der Unterprojekte mit den richtigen Informationen.

Mein Problem ist, wenn ich meine Projekt-Website über site:run Ich sehe keine der surefire-report.html Dateien auf der Projekt-Website. Die angezeigte Datei befindet sich im Zielverzeichnis des übergeordneten Projekts und es sind keine Unit-Tests definiert.

Gibt es eine Möglichkeit, wie ich die maven-surefire-report-plugin o maven-info-reports-plugin die aus den Teilprojekten generierten Surefire-Berichte zu aggregieren?

34voto

Rich Seller Punkte 81404

Um auf Sephs Antwort einzugehen. Sie können viele der Maven Berichte so einstellen, dass sie die Ergebnisse aggregieren. Um dies mit dem surefire-report Plugin zu tun, müssen Sie etwas wie folgt tun:

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

Beachten Sie die zusätzliche Eigenschaft linkXRef, die es Ihnen ermöglicht, Querverweise in die generierte HTML-Version des Quelltextes einzufügen, der von der Methode jxr-Plugin . Das jxr-Plugin kann auch auf Aggregation eingestellt werden, so dass Sie mit beiden zusammen Ihre gesamte Projektstruktur durchsuchen können.

Soweit ich weiß, führt das maven-info-reports-plugin keine Aggregation durch.

2voto

Seph Punkte 328

Sie können hinzufügen

<aggregate>true</aggregate>

für das surefire-Plugin in der übergeordneten pom.xml.

1voto

smilyface Punkte 4119

Für die Befehlszeile

mvn surefire-report:report -Daggregate=true

Das könnte sein.

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

Anmerkung: fn -> NIEMALS die Erstellung fehlschlagen lassen, unabhängig vom Projektergebnis

Zum Hinzufügen von Pom

<aggregate>true</aggregate>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X