二、junitreport任务
可以采用junitreport任务生成html的报告。junitreport任务首先将生成的xml文件整合成一个xml文件,一般命名为TESTS-TestSuites.xml.然后再对xml文件进行转换。其格式如下:
<junitreport>
<fileset dir="${test.data.dir}" includes="Test-*.xml"/>
<report format="frames" todir=""/>
</junitreport>
在上面这个例子里,junitreport任务将整合test.data.dir下面的Test-*.xml文件,并且生成html文件框架.
report表示生成有框架或无框架的javadoc。
三、如何只运行单个测试。
对test和batchtest使用if/unless来实现选择性的运行单个测试或者运行整个测试。
<junit>
<test name=${testcase} if="testcase"/>
<batchset todir="${dest}" unless="testcase">
<fileset .../>
</batchset>
</junit>
if表示只要testcase这个property存在则会执行test,unless表示将会执行batchset,除非testcase这个property存在。因此如果想要运行单个测试,只需要在命令行中-Dtestcase=...即可。否则将会运行所有的testcases。
四、ant的其他一些数据类型及属性
1、JUNIT---sysproperty,系统属性,定义和property类似。在java文件中可以通过System.getProperty()来获得它的值。
例如:
<junit>
...
<sysproperty key="docs.dir" value="./dest">
</junit>
在java文件中:
System.getProperty("docs.dir");
也可以使用properset定义一个属性集,在junit中引用该属性集,例如:
<property name="property1" value="value1"/>
<property name="property2" value="value2"/>
<propertyset id="myproperty">
<propertyref prefix="property1"/>
<propertyref prefix="property2"/>
</propertyset>
<junit>
...
<syspropertyset refid="myproperty">
</junit>
2、<reference refid="srcid" torefid="tarid"/>
我的理解是定义一个引用的别名,在这里srcid是一个引用,为它定义了一个别名tarid,在当前project用srcid这个引用,如果该project中调用了另一个project的任务,则在另一个project使用tarid这个引用