代码之家  ›  专栏  ›  技术社区  ›  mateusz.fiolka

如何更轻松地调试maven surefire测试(使用eclipse作为调试服务器)

  •  26
  • mateusz.fiolka  · 技术社区  · 14 年前

    我正在使用maven/surefire/eclipse编写一些代码,然后对其进行测试/调试。

    标准方法是使用maven.surefire.debug文件maven地产。默认情况下,启用此属性后,maven开始侦听端口5005,我可以使用远程调试器连接到已调试的进程。测试完成后,远程调试器将与服务器断开连接。

    1. 跑马文
    2. 使用远程启动配置连接

    1. 跑马文

    我发现maven.surefire.debug文件属性设置为某些远程调试选项将更改远程调试行为。因此当我指定。

    -Dmaven.surefire.debug文件=“-Xdebug”-Xrunjdwp:transport=dt\u插座,服务器=n,地址=5005“

    然后build将尝试连接到我的eclipse进程,监听端口5005。这样我就颠倒了maven和eclipse的默认客户机/服务器角色。

    然而,这种方法有一个大问题。它没有给我任何信息,因为在maven构建完成之后,eclipse停止监听服务器端口。这是我不明白的部分。 当我作为调试客户机从eclipse连接到例如WebLogic服务器时,它允许我自由地连接/断开任意次数的连接。

    有人知道这是否正常,或者我需要指定一些额外的选项来简化maven测试的调试吗?

    4 回复  |  直到 14 年前
        1
  •  22
  •   Zeba Ahmad    12 年前

    简单方法:

    1. Open the Debug As > .. dialogue box
    2. In the goal text box, give
         -DforkMode=never test
    3. Run the debug project
    
        2
  •  19
  •   Ravindranath Akila    12 年前

    虽然有点晚了,但还是觉得值得。

    目标=-Dmaven.surefire.debug文件测试

    Profiles=myconfig配置文件,weblogic

    或者对于特定的测试套件:

    目标=-Dmaven.surefire.debug文件-数据测试=com.myorg.mypkg/MyTestSuite.java测试

    创建其他“远程Java应用程序”配置:

    Host=本地主机

    端口=5005

    默认情况下,运行/调试mvn构建将停止并侦听5005。

    另请参见: http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

        3
  •  2
  •   Pascal Thivent    14 年前

    然后 调试>Maven测试 ?

        4
  •  0
  •   Rajesh    7 年前

    如果您使用的是Maven 2.0.8+,那么它将非常简单,

    Maven build debug in Eclipse