通过Ant运行单个测试用例并添加JVM参数<转>

本文介绍了如何修改Ant的build.xml文件,以便在运行JUnit测试时,能够针对每个测试用例单独启动一个JVM进程,并自定义JVM参数。通过添加`ensure-test-name`和`ensure-jvmarg`目标来确保提供测试用例名和JVM参数,最终的`runtest`目标使用这些参数执行测试。命令行示例展示了如何指定测试用例和JVM参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ralf0131.blogbus.com/logs/75756167.html

参考:http://today.java.net/pub/a/today/2003/09/12/individual-test-cases.html

修改build.xml添加如下几个target,第一个target要求必须在命令行输入一个测试用例文件名,否则会出错,第二个target要求必须输入jvm参数,真正的工作在第三个target中完成,即为每一个testcase单独fork出一个进程,并指定相应的jvm参数。

 

<target name="ensure-test-name" unless="test">

<fail message="You must run this target with -Dtest=TestName"/>

</target>

<target name="ensure-jvmarg" unless="jvm.arg">

<fail message="You must run this target with -Djvm.arg=args"/>

</target>

<target name="runtest" depends="compile, ensure-test-name,ensure-jvmarg">

<junit printsummary="withOutAndErr" fork="yes" timeout="6000"> 

<classpath refid="junit.classpath" />

<formatter type="plain" usefile="false"/>

<batchtest>

<fileset dir="src/test">

<include name="**/${test}.java"/>

</fileset>

</batchtest>

<jvmarg value="${jvm.arg}"/>

</junit>

</target>

 

 

 

运行命令为:

ant runtest -f your_build.xml -Dtest=XXXTest -Djvm.arg="-agentlib:xxxagent -Xmx128m"

-f指定build.xml的目录,-Dtest为所要运行的Testcase文件,程序为在src/test(位于junit->batchtest->fileset标签下,可自定义)这个目录下寻找以包含XXXTest的java文件(可用通配符作为输入)。-Djvm.arg即为输入的jvm参数。

update:

timeout参数可指定一个时间(以毫秒计数),超过此时间自动kill该进程。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值