Emballage Maven sans test (sauter des tests)

Je suis nouveau à Maven. J’essaye d’emballer mon projet. Mais, il exécute automatiquement les tests. Les tests insèrent du contenu dans la firebase database. Ce n’est pas ce que je veux, je dois éviter d’exécuter des tests pendant le package de l’application. Quelqu’un sait-il comment exécuter le paquet sans tester?

Exécuter -Dmaven.test.skip=true avec -Dmaven.test.skip=true

Il suffit de fournir la commande mentionnée ci-dessous qui ignorera l’exécution des cas de test,

 mvn package -DskipTests 

vous pouvez append cette configuration de plugin à votre pom si vous ne voulez pas définir l’argument de ligne de commande:

  org.apache.maven.plugins maven-surefire-plugin  true   

Notez que -Dmaven.test.skip empêche Maven de créer l’artefact test-jar.

Si vous souhaitez ignorer les tests mais créer des artefacts conformément à une utilisation normale de la construction:

 -Dmaven.test.skip.exec 

Si vous essayez ceci dans Windows Powershell, vous obtiendrez cette erreur:

 [ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format... 

La raison en est que, dans Powershell, le ” - ” a une signification particulière et pose problème avec maven.

La solution consiste à le faire précéder d’un backtick (`), comme ça.

 mvn `-Dmaven.test.skip=true install 

Référence: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/

  true  

est aussi un moyen d’append un fichier pom

Vous pouvez passer l’indicateur maven.test.skip tant qu’argument JVM pour ignorer les tests en cours d’exécution lorsque la phase du package (et les précédentes du cycle de vie par défaut) est exécutée:

 mvn package -Dmaven.test.skip=true 

Vous pouvez également passer l’indicateur skipTests seul à l’exécutable mvn. Si vous souhaitez inclure ces informations dans votre POM, vous pouvez créer un nouveau profil dans lequel vous pouvez configurer le maven-surefire-plugin pour ignorer les tests .

Vous devez seulement fournir

 -Dmaven.test.skip 

Plus besoin du ‘= true’ là-bas.

Répondre à une question ancienne et acceptée ici. Vous pouvez append ceci dans votre fichier pom.xml si vous voulez éviter de passer des arguments de ligne de commande tout le temps:

   true  

Les tests doivent toujours [1] s’exécuter avant le package. Si vous devez désactiver les tests, vous faites quelque chose de mal. En d’autres termes, vous essayez de résoudre le mauvais problème. Déterminez quel est votre problème et posez cette question. Cela ressemble à une firebase database.

[1] Vous pouvez ignorer des tests lorsque vous devez générer rapidement un artefact pour une utilisation de développement locale, mais en général, la création d’un artefact doit toujours suivre un test réussi.

Vous faites évidemment le contraire. Les tests sont une partie importante du préemballage. Vous ne devriez pas l’ignorer ou l’ignorer, mais plutôt le faire correctement. Essayez de changer la firebase database dans laquelle il insère les données (comme test_db). Cela peut prendre du temps pour le configurer. Et pour vous assurer que cette firebase database peut être utilisée pour toujours, vous devez supprimer toutes les données à la fin des tests. JUnit4 a des annotations qui vous facilitent la tâche. Utilisez les annotations @Before, @After @Test pour les bonnes méthodes. Vous devez y passer du temps, mais cela en vaudra la peine!

mvn clean install -Dmaven.test.skip=true

a travaillé pour moi puisque le -Dskip ne fonctionnait plus.

 mvn package -Dmaven.test.skip=true 

La meilleure et la plus simple façon de le faire, dans IntelliJ Idea, dans la fenêtre «Projet Maven», et ne cliquez pas sur le bouton de test. J’espère que je t’ai aidé Bonne journée 🙂

Dans Intellij, accédez à Affichage -> Outils Windows -> Choisissez Projets Maven. Dans la liste déroulante Lifecyle, cliquez avec le bouton droit sur le package -> choisissez Create ‘your-project [package]’ …

Entrez cette valeur: package -Dmaven.test.skip=true -f pom.xml dans le champ Ligne de commande. Cliquez sur Appliquer et un menu déroulant Exécuter les configurations devrait apparaître avec votre commande maven personnalisée créée.