Question

Je ne parviens pas à mes tests de débogage de jbehave. Je ne peux pas maven pour démarrer les tests de jbehave et d'arrêt à un point d'arrêt. J'ai dans mon pom:

<pluginManagement>
 <plugins>
   <plugin>
     <groupId>org.jbehave</groupId>
     <artifactId>jbehave-maven-plugin</artifactId>
     <version>2.0.1</version>
   </plugin>
 </plugins>
</pluginManagement>
<plugins>
 <plugin>
   <groupId>org.jbehave</groupId>
   <artifactId>jbehave-maven-plugin</artifactId>
   <executions>
     <execution>
       <id>run-scenarios-found</id>
       <phase>test</phase>
       <configuration>
         <scenarioIncludes>
           <scenarioInclude>**/scenario/**/*${test}.java</scenarioInclude>
         </scenarioIncludes>
         <scenarioExcludes>
           <scenarioExclude>**/*Steps.java</scenarioExclude>
         </scenarioExcludes>
       </configuration>
       <goals>
         <goal>run-scenarios</goal>
       </goals>
     </execution>
   </executions>
 </plugin>
</plugins>

et j'ai essayé des choses comme:

$  mvn -e -o -Dtest=MyTest -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE" clean test

et

$ export MVN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE" ; mvn -Dtest=MyTest clean test 

Je peux essayer d'utiliser jsadebugd , mais je qui probablement besoin temps pour automatiser Immaculé, de sorte que les sons comme une solution sous-optimale, et je me sens comme le plugin Maven JBehave devrait fournir cette fonctionnalité. Il est clair que je viens pas encore trouvé le bon morceau de documetation. Toute idée comment je vais à ce sujet?

Était-ce utile?

La solution

Ce qui suit a fonctionné pour moi: exportation MAVEN_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, server = y = y, suspension, adresse = 8787 = -Xnoagent -Djava.compiler NONE"

puis commencer mes tests mvn: mvn install

(maven se trouve maintenant en attente pour le débogueur de se connecter)

Ensuite, démarrez Eclipse dans une session de débogage à distance, pointant l'hôte local, le port 8787 (comme ci-dessus), avec des points d'arrêt appropriés, définis.

Autres conseils

Ne serait-il plus facile de ne pas commencer les tests avec Maven, mais plutôt dans l'IDE avec JUnit? Ensuite, vous pouvez utiliser le débogueur directement? Je le fais normalement ainsi, que le serveur CI utilise Maven pour exécuter JBehave, mais dans l'IDE, je préfère une manière plus directe d'exécution.

Cela a fonctionné pour moi:

  1. Dans Eclipse Exécuter -> Configurations de débogage ...
  2. Sélectionnez Maven Créer et cliquez sur Nouveau
  3. Définir les objectifs (clean very dans mon cas) et les paramètres possibles
  4. Hit Debug

mvn -e -o -Dmaven.surefire.debug = "- Xdebug -Xrunjdwp: transport = dt_socket, serveur = y, suspend = y, adresse = 8787 = -Xnoagent -Djava.compiler NONE" intégration test

Cette ligne a fonctionné parfaitement pour moi. Configurez votre projet Jbehave dans Eclipse avec le port de débogage (8787) et se connecter au débogueur rapidement tout en mvn attend pour vous connecter à votre projet Eclipse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top