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> 
War es hilfreich?

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

Verwandte Frage

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top