在eclipse中调试ant中的junit测试代码

eclipse本来提供junit的运行和调试功能,但是在大型项目开发中往往,用ant来维护整个代码的编译,打包和测试。而在测试前往往会进行环境的配置,这些配置往往是由ant来完成,所以测试的入口也是从运行ant开始的,但是我们又想对某个junit的测试代码进行调试就不好处理了。

 

解决办法:在ant脚本中,对junit启动远程调试功能。

 

eclipse中有远程调试功能,可以对非同一个jvm中运行的java程序进行调试。相关的方法可见:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/

 

在ant中要使用相同方法,也不复杂。

假设要调试一个junit测试:

<JUnit printsummary="yes" fork="yes" dir=".">
   <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9002"/>

....

   <batchtest>
    <fileset dir="tests/src">
     <include name="**/jaxrpc/TestUtils.java"/>
    </fileset>
   </batchtest>
  </JUnit>

注意红色部分,此时这个junit启动了远程调试,当ant运行至此会打印waiting for vm to connect at port 9002...。此时新建一个远程调试连接到9002,在这个测试的对应java代码上打上断点,就能进行调试了。

 

同样的方法,所有支持<jvmarg >标签的任务都能这么来调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值