Rzeczywiście, generowanie całej witryny przy każdej kompilacji zdecydowanie nie jest opcją. Problem polega jednak na tym, że mvn surefire-report:report-only
nie tworzy plików css/* .css, stąd wynik jest brzydki. Jest to zalogowany SUREFIRE-616 (nie oznacza to, że coś się stanie). Osobiście nie używam raporty HTML, który dużo, więc mogę z tym żyć, ale to nie jest dobra odpowiedź tak tutaj jest rozwiązanie oparte na ant zadania (* westchnienie *):
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>test-reports</id>
<phase>test</phase>
<configuration>
<tasks>
<junitreport todir="target/surefire-reports">
<fileset dir="target/surefire-reports">
<include name="**/*.xml"/>
</fileset>
<report format="noframes" todir="target/surefire-reports"/>
</junitreport>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-junit</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
</plugin>
Aktualizacja: Moim początkowym pomysłem było uruchomienie wtyczki Maven AntRun "na żądanie" w celu wygenerowania raportów ... ale to nie jest to, co napisałem, związałem ją z fazą test
... Ale nie myślałem o przypadku nieudanych testów (które zatrzymałoby kompilację i uniemożliwiło uruchomienie wtyczki AntRun). Więc, albo:
nie wiążą wtyczki AntRun do fazy test
przesuń konfigurację poza execution
i nazywają mvn antrun:run
w wierszu poleceń do generowania raportów, kiedy chce.
lub użyć opcji z mojo testowym testFailureIgnore
i ustawić go na true w murowany konfiguracji wtyczki:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
lub ustawić ten wyraz z linii poleceń za pomocą parametru -D:
$ mvn test -Dmaven.test.failure.ignore=true
Myślę, że opcja nr 1 jest najlepszą opcją, niekoniecznie chcesz generować raporty (szczególnie gdy test przechodzi) i generowanie ich systematycznie może spowolnić proces budowania w dłuższej perspektywie. Generowałem je "na żądanie".
Czy to otworzyć podproces lub po prostu uruchamia mrówki osadzone? Jeśli to tylko osadza mrówkę i jej zadanie, to jest dokładnie to, czego potrzebuję. –
@jimmy To uruchamia zadanie ant w tym samym procesie. –
To jest dokładnie to, co muszę wiedzieć! –