二、junitreport任務(wù)
可以采用junitreport任務(wù)生成html的報(bào)告。junitreport任務(wù)首先將生成的xml文件整合成一個(gè)xml文件,一般命名為TESTS-TestSuites.xml.然后再對xml文件進(jìn)行轉(zhuǎn)換。其格式如下:
<junitreport>
<fileset dir="${test.data.dir}" includes="Test-*.xml"/>
<report format="frames" todir=""/>
</junitreport>
在上面這個(gè)例子里,junitreport任務(wù)將整合test.data.dir下面的Test-*.xml文件,并且生成html文件框架.
report表示生成有框架或無框架的javadoc。
三、如何只運(yùn)行單個(gè)測試。
對test和batchtest使用if/unless來實(shí)現(xiàn)選擇性的運(yùn)行單個(gè)測試或者運(yùn)行整個(gè)測試。
<junit>
<test name=${testcase} if="testcase"/>
<batchset todir="${dest}" unless="testcase">
<fileset .../>
</batchset>
</junit>
if表示只要testcase這個(gè)property存在則會(huì)執(zhí)行test,unless表示將會(huì)執(zhí)行batchset,除非testcase這個(gè)property存在。因此如果想要運(yùn)行單個(gè)測試,只需要在命令行中-Dtestcase=...即可。否則將會(huì)運(yùn)行所有的testcases。
四、ant的其他一些數(shù)據(jù)類型及屬性
1、JUNIT---sysproperty,系統(tǒng)屬性,定義和property類似。在java文件中可以通過System.getProperty()來獲得它的值。
例如:
<junit>
...
<sysproperty key="docs.dir" value="./dest">
</junit>
在java文件中:
System.getProperty("docs.dir");
也可以使用properset定義一個(gè)屬性集,在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"/>
我的理解是定義一個(gè)引用的別名,在這里srcid是一個(gè)引用,為它定義了一個(gè)別名tarid,在當(dāng)前project用srcid這個(gè)引用,如果該project中調(diào)用了另一個(gè)project的任務(wù),則在另一個(gè)project使用tarid這個(gè)引用