2

J'essaie de passer un argument VM dans Maven, en particulier pour une suite de tests exécutée par failsafe.VM Arguments avec maven-failsafe-plugin

Mon pom.xml ressemble à ceci:

... 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <configuration> 
    <argLine>-Dtest.data=true</argLine> 
    </configuration> 
    <version>2.7.2</version> 
    <executions> 
    <execution> 
     <id>integration-test</id> 
     <goals> 
     <goal>integration-test</goal> 
     </goals> 
    </execution> 
    <execution> 
     <id>verify</id> 
     <goals> 
     <goal>verify</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
... 

Quand je lance la commande mvn clean verify les tests qui reposent sur test.data étant la valeur true échouent. Cependant, lorsque j'exécute la commande mvn -Dtest.data=true clean verify les tests passent tous. J'ai besoin que l'argument soit placé dans le pom pour mon environnement CI.

Ai-je raté quelque chose ici?

Merci à l'avance,

Pete

+0

La première recommandation est de mettre à jour à 2.8 de Maven-FailSafe-Plugin. Êtes-vous forking la JVM? – khmarbaise

+0

J'ai mis à jour à 2.8 et ne fonctionne toujours pas. Comment savoir si je suis en train de forker la JVM? Je ne crois pas que je suis. – Caps

+0

Les valeurs par défaut indiquent que vous êtes en train de forker. – khmarbaise

Répondre

0

Ok, il s'avère que les tests d'intégration que j'essayais d'exécuter nécessitaient que cet argument soit passé dans le plugin Tomcat et non dans le plugin Failsafe. Merci pour votre aide les gars!

+0

Je vois le même problème, mais parce que je ne suis pas en utilisant Tomcat je ne pouvais pas le réparer de cette façon. Finnaly J'ai ajusté mon travail Jenkins en spécifiant dans la section Build: clean test -Dsun.net.http.allowRestrictedHeaders = true – Maksim

2

Utilisez l'élément <systemPropertyVariables>to set system properties (je ne vois pas où <argLine> est mentionné dans la documentation, où avez-vous trouvé?):

<configuration> 
    <systemPropertyVariables> 
     <test.data>true</test.data> 
    </systemPropertyVariables> 
</configuration> 
+0

J'ai déjà essayé cela mais je ne travaille toujours pas. est dans le code source, mais je n'ai pas vérifié les docs. – Caps

+0

Voici les documents pour maven-failsafe-plugin: http://maven.apache.org/plugins/maven-failsafe-plugin/integration-test-mojo.html – khmarbaise

Questions connexes