Ik probeer mijn project te verpakken. Maar het voert automatisch de tests uit die de verpakking uitvoeren. De tests plaatsen wat inhoud in de database. Dit is niet wat ik wil, ik moet het voorkomen van hardlooptests tijdens het verpakken van de applicatie. Iedereen weet hoe het pakket wordt uitgevoerd met de test?
Antwoord 1, Autoriteit 100%
RUN MAVEN MET
mvn package -Dmaven.test.skip=true
Antwoord 2, Autoriteit 29%
Geef gewoon de onderstaande opdracht op, die negeert de uitvoering van de testcases (maar compileer de testcode):
mvn package -DskipTests
Antwoord 3, Autoriteit 7%
U kunt deze pluginconfiguratie toevoegen aan uw POM als u geen opdrachtregel Arg wilt instellen:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
Antwoord 4, Autoriteit 6%
Merk op dat -DMAVEN.TEST.SKIP voorkomt dat Maven het Test-Jar-artefact bouwen.
Als u tests overslaat, maar artefacten kunt maken volgens een normaal build-gebruik:
-Dmaven.test.skip.exec
Antwoord 5, Autoriteit 5%
Als u dit in Windows Powershell probeert, krijgt u deze foutmelding:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
De reden hiervoor is, in PowerShell de “-
” heeft een speciale betekenis en het veroorzaakt probleem met MAVEN.
De oplossing is om het met een backtick (`) te helpen, zoals SO ..
mvn `-Dmaven.test.skip=true install
Antwoord 6, Autoriteit 4%
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
is ook een manier om in POM-bestand toe te voegen
Antwoord 7, Autoriteit 3%
U hoeft alleen
te verstrekken
-Dmaven.test.skip
U hoeft niet langer te voegen =true
.
Antwoord 8, Autoriteit 3%
U kunt de maven.test.skip
Vlag als JVM-argument doorgeven, om hardlooptests over te slaan wanneer de pakketfase (en de vorige in de standaard levenscyclus) wordt uitgevoerd:
mvn package -Dmaven.test.skip=true
U kunt ook de skipTests
-vlag alleen doorgeven aan het uitvoerbare bestand van MVN. Als u deze informatie in uw POM wilt opnemen, kunt u een nieuw profiel maken waar u de maven-surefire-plugin
op Skip-tests .
Antwoord 9, Autoriteit 3%
In het idee van Inllij is er ook een optie om testdoel te overslaan.
Antwoord 10, autoriteit 2%
U kunt -DskipTests
of -Dmaven.test.skip=true
toevoegen aan elk mvn
-commando om tests over te slaan. In jouw geval zou het als volgt zijn:
mvn package -DskipTests
OF
mvn package -Dmaven.test.skip=true
Antwoord 11, autoriteit 2%
Hier een oude en geaccepteerde vraag beantwoorden. Je kunt dit toevoegen aan je pom.xml als je wilt voorkomen dat je de hele tijd opdrachtregelargumenten doorgeeft:
<properties>
<skipTests>true</skipTests>
</properties>
Antwoord 12
gewoon mvn clean install -DskipTests
Antwoord 13
Een verkorte notatie om maven build- en skip-tests uit te voeren zou zijn:
mvn schone installatie -DskipTests
Antwoord 14
Hieronder zijn twee commando’s het nuttigst
mvn clean package -Dmaven.test.skip=true
mvn clean package -DskipTests
Bedankt
Antwoord 15
Tests moeten altijd[1] vóór het pakket worden uitgevoerd. Als u de tests moet uitschakelen, doet u iets verkeerd. Met andere woorden, je probeert het verkeerde probleem op te lossen. Zoek uit wat uw probleem werkelijk is en stel die vraag. Het klinkt alsof het database-gerelateerd is.
[1] U kunt tests overslaan als u snel een artefact moet genereren voor lokaal ontwikkelingsgebruik, maar in het algemeen moet het maken van een artefact altijd volgen op een succesvolle testrun.
Antwoord 16
Voor maven-pakket zonder maven-test te infecteren:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
Antwoord 17
Ga in Intellij naar View -> Hulpprogramma Windows -> kies Maven-projecten.
Klik in de vervolgkeuzelijst Lifecyle met de rechtermuisknop op pakket -> kies Maak ‘uw-project [pakket]’…
Voer deze waarde in: package -Dmaven.test.skip=true -f pom.xml
in het veld Opdrachtregel. Klik op Toepassen en een vervolgkeuzemenu Configuraties uitvoeren zou moeten verschijnen samen met uw gemaakte aangepaste maven-opdracht.
Antwoord 18
Je doet het duidelijk op de verkeerde manier. Testen is een belangrijk onderdeel van voorverpakken. Je moet het niet negeren of overslaan, maar het op de juiste manier doen. Probeer de database te wijzigen waarin de gegevens worden ingevoegd (zoals test_db). Het kan even duren om het in te stellen. En om ervoor te zorgen dat deze database voor altijd kan worden gebruikt, moet u alle gegevens aan het einde van de tests verwijderen. JUnit4 heeft annotaties die het u gemakkelijk maken. Gebruik @Before, @After @Test-annotaties voor de juiste methoden. Je moet er wat aan uitgeven, maar het is het waard!
Antwoord 19
mvn clean install -Dmaven.test.skip=true
werkte voor mij sinds de -Dskip
niet meer werkte.
Antwoord 20
mvn package -Dmaven.test.skip=true
Antwoord 21
De beste en gemakkelijkste manier om dit te doen, in IntelliJ Idea in het venster “Maven Project”, en klik gewoon niet op de testknop. Ik hoop dat ik je heb geholpen. Een fijne dag verder 🙂