Ant JUnit Task的扩展

文章关键字:|Ant JUnit Task|扩展|Java|XML|格式|方式|配置|

  了解 Ant JUnit

  Apache Ant 是一个基于 Java 的 build 工具,它使用 XML 来配置命令 (Task) 。 Ant 提供了非常丰富的预定义命令,所以在大多数的情况下,开发者只需要使用 Ant 自带的命令就能完成绝大多数的功能。但如果在某些特定的情况下,为了让 Ant 能够实现一些额外的功能,开发者可以扩展预定义的命令,或者自行开发新的命令。而 Ant 的设计者也充分考虑了这一点,易扩展的 Ant 体系使得这个工作也变得非常轻松。

  和 Ant 一样,JUnit 也是一个非常流行的工具,在单元测试领域几乎是事实上的工业标准。几乎所有的开发工具都对 JUnit 有很好的支持,当然 Ant 也不例外。 Ant 为 JUnit 提供了一个命令 (JUnit Task),能够让开发者轻松的指定被测试的类、输出格式和运行方式等。清单 1 是一个典型的 Ant JUnit 配置。

清单 1 一个标准 Ant JUnit 的例子

<target name="test" depends="compile" description="Execute the unit test">
<mkdir dir="${report.dir}"/>
<property name="cases" value="*Test"/>
<junit printsummary="yes" fork="yes" jvm="${fvt.java.home}/bin/java">
<classpath refid="classpath"/>
<formatter type="plain" usefile="false"/>
<formatter type="xml"/>
<!--<test name="${example.ut.test}" todir="${report.dir}"/>-->
<batchtest todir="${report.dir}">
<fileset dir="${src.dir}">
<patternset>
<include name="**/feature1*.java" />
<include name="**/testcase?.java" />
</patternset>
</fileset>
</batchtest>
</junit>
<target>
  在清单 1 的这个 Ant XML 中,请注意到 <batchtest> 中可以包含 <fileset> 等表示的文件集合,可以把 <batchtest> 理解成为一个执行测试用例的容器,只要把测试用例的集合送给它,它就能够不折不扣的去执行所有的测试用例。另外还可以看到 Ant 除了支持常用的通配符 (wildcard)* 和 ? 之外,还支持一个任意匹配的符号 ** 。通过这几个通配符的组合使用,Ant JUnit 能够满足大多数单元测试的需要。但是在某些特定的实际项目中,默认的 Ant JUnit 命令可能无法满足要求。让我们看看下面的工程。

  实际项目的需求

图 1 一个单元测试项目的需求


  在图 1 的这个工程中,有两个不同的产品 product 和 product2 。两个产品各自有不同的 feature,在每个 feature 中还包括不同级别 (level) 的单元测试 TestCaseLX 。在实际的测试中,我们很有可能灵活的选择要测试的 feature 和级别。比如星期一,我们要选择 feature1 和 feature3,需要运行所有的级别,但是星期二我们就要运行所有的 L1 的测试用例。

未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9269
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值