我在调试jbehave测试时遇到问题。我无法让maven启动jbehave测试并在断点处停止。我在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>


我尝试过类似的事情:

$  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




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


我可以尝试使用jsadebugd,但是我可能需要无暇的时间来自动化,所以听起来像是次优的解决方案,而且我觉得JBehave Maven插件应该提供此功能。显然,我还没有找到正确的文档说明。有什么想法可以解决吗?

最佳答案

以下为我工作:
出口MAVEN_OPTS =“-Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = y,address = 8787 -Xnoagent -Djava.compiler = NONE”

然后开始我的mvn测试:
mvn安装

(Maven现在挂起,等待调试器连接)

然后在远程调试会话中启动Eclipse,指向本地主机端口8787(如上),并设置适当的断点。

关于java - 调试JBehave方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/731023/

10-10 10:57