用Ant运行单元测试
时间:2020-01-09 10:35:39 来源:igfitidea点击:
我们可以使用Apache Ant(一种开源构建工具)运行JUnit单元测试。在本文中,我将简要向我们展示如何操作。我不会详细解释Ant。我希望我们已经了解蚂蚁。如果没有,请访问Ant网站(请参阅上面的链接)并进行研究。
Ant有一个称为" junit"的内置任务,可以运行单元测试。这是一个简单的示例:
<target name="unit-test-1" >
<junit printsummary="yes" haltonfailure="yes">
<classpath>
<pathelement location="${project.class.path}"/>
<pathelement location="${build.tests}"/>
<pathelement path="${java.class.path}"/>
</classpath>
<test name="com.Hyman.test.MyUnitTest"
haltonfailure="no" outfile="result">
<formatter type="plain"/>
<formatter type="xml"/>
</test>
</junit>
</target>
在classpath元素中,添加项目代码和测试代码的输出位置。换句话说,就是我的编译代码和测试代码所在的目录。
在test元素中,我声明要执行的单元测试类。我还在outfile属性中指定了输出报告的名称("结果")。
嵌套在" test"元素内,我放置了两个" formatter"元素。这些格式化程序定义在test元素中指定的输出报告的输出格式。由于我添加了两个格式化程序,因此将生成两个输出报告。一种在"普通"文本中,另一种在" xml"中。
批测试运行
在前面的示例中,仅执行了一个测试。也可以在Ant脚本中执行一批测试,而不必显式指定每个单元测试。
这是一个批处理单元测试示例:
<target name="unit-test-1" >
<mkdir dir="${reports.tests}"/>
<junit printsummary="yes" haltonfailure="yes">
<classpath>
<pathelement location="${project.class.path}"/>
<pathelement location="${build.tests}"/>
<pathelement path="${java.class.path}"/>
</classpath>
<formatter type="plain"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${reports.tests}">
<fileset dir="${src.test}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
</target>
类路径的内容与第一个示例中的相同。
请注意,现在如何将这两个formatter元素移至batchtest元素之外。现在,这些格式化程序用于在junit元素内指定的所有测试元素。
批处理任务是执行工作的任务。这里,需要注意的有趣属性是" todir"属性。此属性指定要将测试报告文件输出到的目录。
在" batchtest"元素内嵌套了一个标准的" fileset"元素,该元素告诉要包含哪些Java文件(意味着要执行哪些测试)。在此示例中,我以递归方式执行文件名中具有文本" Test"和" .java"的所有文件,而不管它们位于哪个目录中。

