用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"的所有文件,而不管它们位于哪个目录中。