51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1749|回复: 0
打印 上一主题 下一主题

[讨论] ANT编译时执行Junit测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-8 10:51:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.Junit.jar(和jakarta-ant-optional.jar 不是必须) 放在ant_home/lib中,用于支持build.xml中的<junit>标签


2.修改build.xml,在任意两个target之间添加一个新的target, 配置name和depends属性,name属性是必须
的,depends是依赖的另一个target(如下,依赖compileBase,copyProperties分别是编译.java文件和copy
配置文件的garget).


3.在新的target中添加<junit>标签,添加测试任务,在<junit>标签中添加<classpath>标签,配置.class文
件的目录和依赖.jar文件的目录(将junit和mockito的jar指  导classpath中)


4.添加<batchtest>标签(<test>标签执行单个测试用例),定义多个测试文件,指定<include>标签的
name属性为“**/*Test.class”(测试类在创建时依据命名规范,以Test.class结尾)

<test name="com.glen.he.SimpleCalculationTest"/>

5.在<batchtest>标签内部添加<formatter>标签,将测试结果生成指定文件的测试结果

brief:以文本格式提供测试失败的详细内容;
plain:以文本格式提供测试失败的详细内容以及每个测试的运行统计;
xml:以xml格式提供扩展的详细内容,包括正在测试时的Ant特性,系统输出,以及每个测试用例的系统错误.

6.<junitreport>导出测试结果到一个.xml文件中生成HTML页面(如果<formatter>标签不在<batchtest>
标签内部,生成的xml文件为空,并导致HTML页面打开没有数据,HTML页面的数据,依赖于xml文件)


7.<delete>删除测试结果


8.在build.xml文件中找一个合适的target在depends中添加测试的target的name值,用“,”分隔(英文逗号)
。所选的target必须在编译.java文件的target执行之后执行的target。



  1. <target name="test" depends="compileBase,copyProperties">

  2.          <property name="testReport" value="./deployment/testReport"/>

  3.          <delete dir="${testReport}" />

  4.          <mkdir dir="${testReport}" />

  5.               <!—执行测试-->

  6.          <junit>

  7.                    <classpath>

  8.                                          <fileset dir="./lib/">

  9.                                      <include name="**/*.jar"/>

  10.                              </fileset>

  11.                                        <pathelement location="${base.classesdir}/${classes}"/>

  12.                    </classpath>

  13.                   

  14.                    <batchtest todir="${testReport}">

  15.                                            <formatter type="xml" usefile="true"/>

  16.                             <fileset dir="${base.classesdir}/${classes}">

  17.                                      <include name="**/*Test.class"/>

  18.                             </fileset>

  19.                    </batchtest>

  20.          </junit>

  21.                <!—导出测试报告-->

  22.          <junitreport todir="${testReport}">

  23.                    <fileset dir="${testReport}">

  24.                             <include name="Test-*.xml" />

  25.                    </fileset>

  26.                   <report format="frames" todir="${testReport}"/>

  27.          </junitreport>

  28.          <!--删除xml的测试结果

  29.          <delete dir="${testReport}">

  30.                    <include name="*.xml" />

  31.          </delete> -->

  32. </target>
复制代码






注:如果配置没有出错,但是生成HTML页面出错,可以查看一下xalan支持情况。



Xalan ,将测试结果导出到HTML统计页面,由于xalan对jdk1.4上支持问题,需要在java_home/jre/lib/end
orsed中添加xalan的全部jar包(我的jdk版本是1.5.0_14,不需要导入额外的xalan包)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-26 15:18 , Processed in 0.067888 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表