代码之家  ›  专栏  ›  技术社区  ›  l0st3d

调试jbehave方案

  •  3
  • l0st3d  · 技术社区  · 15 年前

    调试jbehave测试时遇到问题。我无法让Maven启动jbehave测试并在断点处停止。我把这个放在我的保险箱里:

    <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插件应该提供这个功能。显然,我还没有找到合适的文件。你知道我怎么做吗?

    4 回复  |  直到 6 年前
        1
  •  1
  •   bm212    15 年前

    以下内容对我很有用: export maven_opts=“-xdebug-xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787-xnoagent-djava.compiler=none”

    然后开始我的MVN测试: 根项目上进行构建

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

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

        2
  •  0
  •   AndreasEK    12 年前

    不使用Maven开始测试,而是使用JUnit在IDE中开始测试,这不是更容易吗?那么您可以直接使用调试器吗?我通常这样做,以至于CI服务器使用Maven来执行jbehave,但是在IDE中,我更喜欢更直接的执行方式。

        3
  •  0
  •   Panu Haaramo    6 年前

    这对我很有用:

    1. 在Eclipse -gt; 调试配置…
    2. 选择 Maven构建 然后点击 新的 按钮
    3. 设定目标( clean very 在我的例子中)和可能的参数
    4. 击中 调试 按钮
        4
  •  -1
  •   Moon    8 年前

    mvn-e-o-dmaven.surefire.debug=“-xdebug-xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787-xnoagent-djava.compiler=none”集成测试

    这条线很适合我。在Eclipse中设置jbehave项目 使用调试端口(8787)并在MVN等待连接到Eclipse项目时快速连接到调试程序。