本文共 6250 字,大约阅读时间需要 20 分钟。
一、ANT任务之Junit:
学习ANT其实主要是学习ANT的task,ANT众多task中有一个Testing Tasks,它下面有两个任务:Junit和JunitReport,主要用来进行单元测试及生成单元测试报告。
Testing Tasks |
---|
Task Name | Description |
---|---|
Runs tests from the testing framework. This task has been tested with JUnit 3.0 up to JUnit 3.7; it won't work with versions prior to JUnit 3.0. | |
Merges the individual XML files generated by the task and applies a stylesheet on the resulting merged document to provide a browsable report of the testcases results. |
官方网址:
<junit>下面可以包含其它元素,例如:
1、<test>:运行单个TestCase
2、<batchtest>:运行多个TestCase
3、<formatter>:定义测试结果输出格式
还有很多,详细可以参考官方文档。
二、项目实例:
由于ant安装比较得简单,网上一搜一大把且现在ecplise基本都带ant,所以本文并未说明如何搭建ant环境。
另外,在eclipse中可以通过:window->show view 来调出Ant视图
1、目录结构如下:
2、SimpleCalculation类代码如下:
3、测试类SimpleCalculationTest代码如下:
4、在项目要目录下添加build.xml(执行一个测试)文件,内容如下:
说明:
<junit printsummary="true">
<classpath refid="compile.path"/> <test name="com.glen.he.SimpleCalculationTest"/> </junit>
<path id="compile.path">
<fileset dir="${lib.path}"> <include name="**/*.jar"/> </fileset><pathelement path="${build.path}"/> </path我们在<junit〉任务下,使用了编译后的.class文件的目录,还有编译所需的jar包所在的目录。 因为,JUnit任务实际就是为我们运行Test类,而不仅仅是像我们发布Ant文件那样只是javac编译,只需要编译所需的Jar包。我们还需要像java任务那样运.class文件,所以必须包括编译后的.class文件。
5、然后把build.xml文件拖到Ant视图中,如下图,双击junit执行即可。
6、执行结果:
1 Buildfile: D:\AntTest\build.xml 2 clean: 3 [delete] Deleting directory D:\AntTest\build 4 compile: 5 [mkdir] Created dir: D:\AntTest\build 6 [javac] Compiling 1 source file to D:\AntTest\build 7 8 [javac] Compiling 1 source file to D:\AntTest\build 9 junit:10 [junit] Running com.glen.he.SimpleCalculationTest11 [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.016 sec12 BUILD SUCCESSFUL13 Total time: 1 second
三、增强版build.xml
通过上面第二步,基本可以达到使用ant和junit来进行单元测试,但还远远不够,比如需要批量运行案例,生成报告等,下面会介绍这些内容
1、使用formatter属性输出junit信息:
1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 28 29 30 31 3223 25 2624 27 33 35 36 37 38 3934 40 44 45 46 47 4841 42 43 49 56 5750 51 5552 53 54 58 60 6159
执行junit的task后,在项目report目录下生成了一个名为TEST-com.glen.he.SimpleCalculationTest.xml的xml文件。
另外:
<formatter type="xml" usefile="true"/>中type属性值还有plain、brief
这时会输出一个文本文件,提供测试失败时的详细内容以及每个测试的运行统计。
2、批量运行单元测试案例:
1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 28 2923 25 2624 27 30 33 34 35 36 3731 32 38 40 41 42 43 4439 45 48 49 50 51 5246 47 53 67 68 6954 65 6655 56 57 58 59 63 6460 6261 70 72 7371
3、使用<JunitReport>生成测试报告:
在上面我们已经知道,通过formatter(type=“xml”)输出junit信息时会在指定目录下生成一个Test-类路径名.xml的xml文件,但是这个xml文件看起来很不方便。Ant提供了<junitreport>任务使用XSLT将xml文件转换为HTML报告,该任务首先将生成的XML文件整合成单一的XML文件,然后再对他进行转换,这个整合的文件默认情况下被命名为:TESTS-TestSuites.xml.
1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 28 2923 25 2624 27 30 33 34 35 36 3731 32 38 40 41 42 43 4439 45 48 49 50 51 5246 47 53 74 75 7654 64 65 6655 56 57 58 59 6360 6261 67 72 7368 7069 71 77 79 8078
执行后会在指定目录下生成报告文档,打开index.html可以很方便的看到执行的结果。
1、如下图所示(我又补充了3个案例,并且故意让两个案例失败),显示执行的统计结果:
2、点击classes下面的ComplexCalculationTest,可以看到具体某个类里面的单元测试案例执行统计情况以及失败案例的错误信息提示。
OVER!
参考:
本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/p/4201565.html,如需转载请自行联系原作者。