Pregunta

Estoy teniendo problemas para depurar mi jbehave pruebas.No puedo conseguir maven para iniciar el jbehave pruebas y parar en un punto de interrupción.Tengo esto en mi 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>

y he probado cosas como:

$  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

y

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

Puedo tratar de usar jsadebugd, pero yo, que probablemente requerirá de la inmaculada de temporización para automatizar, por lo que suena como una solución óptima, y me siento como el JBehave plugin de Maven debe proporcionar esta funcionalidad.Claramente me acabo de no encontrar la pieza correcta de documetation todavía.Alguna idea de cómo debo proceder ?

¿Fue útil?

Solución

El siguiente trabajó para mí:exportación MAVEN_OPTS="-Xdebug -Xrunjdwp:transporte=dt_socket,server=y,suspender=y,address=8787 -Xnoagent -Djava.compilador=NONE"

a continuación, iniciar mi mvn pruebas:mvn install

(maven ahora se bloquea a la espera para que el depurador para conectar)

A continuación, inicie Eclipse en una sesión de depuración remota, señalando en local host, el puerto 8787 (como arriba), con los puntos de corte establecidos.

Otros consejos

¿No sería más fácil no empezar las pruebas con maven, sino más bien en el IDE con JUnit?A continuación, puede utilizar el depurador directamente?Yo normalmente lo hago así, que el CI server utiliza maven para ejecutar JBehave, pero en el IDE, prefiero un modo más directo de la ejecución.

Esto funcionó para mí:

  1. En Eclipse Ejecutar -> Debug Configurations...
  2. Seleccione Maven Build y haga clic en Nuevo botón
  3. Establecer los objetivos (clean very en mi caso) y los parámetros posibles
  4. Hit Depuración botón

mvn -e-o -Dmaven.infalible.debug="-Xdebug -Xrunjdwp:transporte=dt_socket,server=y,suspender=y,address=8787 -Xnoagent -Djava.compilador=NONE" la integración de la prueba

Esta línea fue perfecto para mí.El programa de instalación de su Jbehave proyecto en eclipse con el puerto de depuración (8787) y conectar el depurador rápidamente mientras mvn está a la espera para conectarse a su proyecto de eclipse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top