Ich versuche mein Projekt zu verpacken. Es werden jedoch automatisch die vorherigen Tests ausgeführt, um die Verpackung durchzuführen. Die Tests fügen einige Inhalte in die Datenbank ein. Dies ist nicht das, was ich möchte. Ich muss vermeiden, Tests auszuführen, während die Anwendung gepackt wird. Weiß jemand, wie man das Paket ohne Test ausführt?
342
Antworten:
Maven mit ausführen
quelle
-DskipTests
aber es funktioniert nicht mehr. Irgendeine Idee warum?skipTests
vorgezogen wirdmaven.test.skip
.Geben Sie einfach den unten genannten Befehl ein, der die Ausführung der Testfälle ignoriert.
quelle
-DskipTests
hat bei mir nicht funktioniert, als ichmvn clean install -DskipTests
-DskipTests
ist es dasselbe wie-Dmaven.test.skip.exec=true
stackoverflow.com/a/21933970/32453 und ja, es kompiliert die Tests und führt sie nicht aus (wohingegen-Dmaven.test.skip=true
sie nicht kompiliert werden)Sie können diese Plugin-Konfiguration zu Ihrem POM hinzufügen, wenn Sie das Befehlszeilenargument nicht festlegen möchten:
quelle
Beachten Sie, dass -Dmaven.test.skip verhindert, dass Maven das Testglas-Artefakt erstellt.
Wenn Sie Tests überspringen möchten, aber Artefakte gemäß einer normalen Build-Verwendung erstellen möchten:
quelle
Wenn Sie dies in Windows Powershell versuchen, wird folgende Fehlermeldung angezeigt:
Der Grund dafür ist, dass in Powershell das "
-
" eine besondere Bedeutung hat und Probleme mit Maven verursacht.Die Lösung besteht darin, ihm ein Backtick (`) voranzustellen.
Referenz: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
quelle
ist auch eine Möglichkeit, eine POM-Datei hinzuzufügen
quelle
Sie können das
maven.test.skip
Flag als JVM-Argument übergeben, um laufende Tests zu überspringen, wenn die Paketphase (und die vorherigen im Standardlebenszyklus) ausgeführt wird:Sie können das
skipTests
Flag auch alleine an die ausführbare mvn-Datei übergeben. Wenn Sie diese Informationen in Ihrem POM aufnehmen möchten, können Sie ein neues Profil erstellen , in dem Sie die Konfiguration kannmaven-surefire-plugin
zu Tests überspringen .quelle
Sie müssen nur bereitstellen
Sie müssen nicht mehr anhängen
=true
.quelle
In Inllij IDEA gibt es eine Option, um auch das Testziel zu überspringen.
quelle
Beantwortung einer alten und akzeptierten Frage hier. Sie können dies in Ihre pom.xml einfügen, wenn Sie vermeiden möchten, ständig Befehlszeilenargumente zu übergeben:
quelle
Sie können einen
-DskipTests
oder-Dmaven.test.skip=true
jedenmvn
Befehl zum Überspringen von Tests hinzufügen . In Ihrem Fall wäre es wie folgt:ODER
quelle
Tests sollten immer [1] vor dem Paket ausgeführt werden. Wenn Sie die Tests ausschalten müssen, machen Sie etwas falsch. Mit anderen Worten, Sie versuchen, das falsche Problem zu lösen. Finden Sie heraus, was Ihr Problem wirklich ist, und stellen Sie diese Frage. Es klingt wie datenbankbezogen.
[1] Sie können Tests überspringen, wenn Sie schnell ein Artefakt für lokale Entwicklungszwecke generieren müssen. Im Allgemeinen sollte das Erstellen eines Artefakts jedoch immer nach einem erfolgreichen Testlauf erfolgen.
quelle
gerade
mvn clean install -DskipTests
quelle
Eine Kurzschreibweise für Maven-Build- und Skip-Tests wäre:
mvn clean install -DskipTests
quelle
Für Maven-Paket ohne Infektion des Maven-Tests:
quelle
Sie machen es offensichtlich falsch. Das Testen ist ein wichtiger Bestandteil der Vorverpackung. Sie sollten es nicht ignorieren oder überspringen, sondern es richtig machen. Versuchen Sie, die Datenbank zu ändern, in die die Daten eingefügt werden (z. B. test_db). Das Einrichten kann eine Weile dauern. Um sicherzustellen, dass diese Datenbank für immer verwendet werden kann, sollten Sie alle Daten bis zum Ende der Tests löschen. JUnit4 enthält Anmerkungen, die es Ihnen leicht machen. Verwenden Sie die Anmerkungen @Before, @After @Test für die richtigen Methoden. Sie müssen irgendwann dafür aufwenden, aber es wird sich lohnen!
quelle
Gehen Sie in Intellij zu Ansicht -> Werkzeugfenster -> wählen Sie Maven-Projekte. Klicken Sie in der Dropdown-Liste Lifecyle mit der rechten Maustaste auf Paket -> wählen Sie "Ihr Projekt [Paket] erstellen" ...
Geben Sie diesen Wert ein:
package -Dmaven.test.skip=true -f pom.xml
in das Feld Befehlszeile. Klicken Sie auf Übernehmen. Ein Dropdown-Menü Konfigurationen ausführen sollte zusammen mit Ihrem erstellten benutzerdefinierten Maven-Befehl angezeigt werden.quelle
mvn clean install -Dmaven.test.skip=true
arbeitete für mich da das
-Dskip
nicht mehr funktionierte.quelle
quelle
Der beste und einfachste Weg, dies zu tun, ist in IntelliJ Idea im Fenster „Maven Project“ und klicken Sie einfach nicht auf die Testschaltfläche. Ich hoffe ich habe dir geholfen. Haben Sie einen guten Tag :)
quelle