2014-10-21 14 views
6

ich Maven wie dies leite:Maven Cobertura und Paket ohne Unit-Tests laufen zweimal

mvn clean cobertura:cobertura package 

Ich bemerkte, dass meine Unit-Tests zweimal laufen lassen (damit meine Build-Verdopplungszeit). Gibt es eine Möglichkeit, cobertura auszuführen und das Paket im selben Befehl zu generieren, ohne Tests zweimal auszuführen?

+0

AFAIK gibt es keine Möglichkeit, es zu tun! – StackFlowed

+0

möglich duplicate von [Doppel-Unit-Test Reporting mit Hudson und Maven] (http://stackoverflow.com/questions/1098445/double-unit-test-reporting-with-hudson-and-maven) – 333kenshin

+0

333kenshin: Vielleicht könnten sie teilen die gleiche Ursache, aber meine Frage bezieht sich auf Kommandozeile Maven im Allgemeinen und nicht in Bezug auf Hudson Double Reporting Unit Tests. – hofan41

Antwort

2

Eine einfache Möglichkeit wäre, zwei separate Befehle auszuführen. In Bash ist es an die Kette dann leicht, sie zusammen in einer Zeile:

mvn clean cobertura:cobertura && mvn package -Dmaven.test.skip=true 

Das erste Bit:

mvn clean cobertura:cobertura 

sauber funktioniert, führt die Tests durch und erzeugt die Berichterstattung Bericht.

Das zweite Bit:

mvn package -Dmaven.test.skip=true 

Ist die Verpackung, aber sagt es nicht, die Tests auszuführen.

Die && ist da, so dass wenn der erste Befehl fehlschlägt, dann wird es nicht versuchen, die zweite auszuführen.