我在调试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插件应该提供这个功能。显然,我只是还没有找到合适的文档。你知道我该怎么做吗?
发布于 2009-05-11 20:45:21
以下方法适用于我: export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE“
然后开始我的mvn测试: mvn install
(maven现在挂起,等待调试器连接)
然后在远程调试会话中启动Eclipse,指向本地主机端口8787 (如上所述),并设置适当的断点。
发布于 2012-06-22 23:14:29
在集成开发环境中使用JUnit启动测试,而不是使用maven启动测试,不是更容易吗?那么你可以直接使用调试器了吗?我通常这样做,CI服务器使用maven来执行JBehave,但在集成开发环境中,我更喜欢一种更直接的执行方式。
发布于 2018-06-14 16:21:22
这对我很有效:
Configurations...
https://stackoverflow.com/questions/731023
复制相似问题