我在调试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/