Generierung des HTML -Surefire -Tests HTML -Ausgang während der Testphase
Frage
Ich bin mir nicht sicher, ob dies eine einfache Frage ist oder nicht, aber ich möchte während der Testerphase Todesfire zum Generieren von HTML -formatierten Ausgabedateien (zusätzlich zu den XML- und TXT -Ausgabedateien) generieren.
Ich habe versucht, dies zu erreichen, indem ich einen Ausführungseintrag für Build> Todesfire hinzufügte. Ist das der richtige Ort dafür? Wenn ja, mache ich es falsch?
<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>
Lösung
Ich möchte, dass Surefire während der Testphase HTML -Formatedateien (zusätzlich zu den XML- und TXT -Formatedateien) generiert (zusätzlich zu den Ausgabedateien mit XML- und TXT -Formatierungen).
Der einfachste Weg (ohne zu laufen site
) würde wahrscheinlich nur aufrufen:
mvn surefire-report:report
Dadurch werden die Tests vor dem Erstellen des Berichts durchgeführt (das Ergebnis ist jedoch nicht so schön, da das CSS nicht generiert wird, Sie müssten laufen site
dafür).
Ich habe versucht, dies zu erreichen, indem ich einen Ausführungseintrag für Build> Todesfire hinzufügte. Ist das der richtige Ort dafür? Wenn ja, mache ich es falsch?
Wenn Sie das wirklich binden wollen surefire-report
Plugin zum test
Phase wäre mein Vorschlag, die zu verwenden report-only
Ziel (weil es die Tests nicht erneut ausführen wird, siehe Surefire-257), so was:
<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>
Als Randnotiz generieren Sie den Bericht als Teil der Website:
<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>
Und läuft
mvn test site
Es scheint nicht so viel langsamer zu sein (ich habe Maven 3 nur mit diesem Bericht verwendet) und erzielte ein viel schöneres Ergebnis. Dies ist jedoch möglicherweise keine Option, wenn Sie eine komplexe Site -Setup haben (zumindest nicht ohne Dinge komplexer zu machen, indem Sie Profile einführen).