Ant实战篇 (一)(3)

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

Ant实战篇 (一)

修订者:黄 凯

E_mail:hk_sz@163.com

前 言

由于现在公司进行Unit Test Case的整理阶段,所以抽空对Ant和Junit技术进行了一下了解,以下是集合了众家所长之精华(考虑到是按我的思路总结的,也许不能完全表述原作者的思路,所以在参考中我把所有参考过的文章网址或书籍都罗列了出来,大家有时间不妨去看看原文)。

如果对Ant部分参数不明白的话,请参看《Ant理论篇》系列或ant自带的文档。

目 录

一、 Ant使用实例

1.1 通过Ant的copt task将当前目录下最近更新的文件(按系统时间来区分)文件提交至指定目录

1.2 用Ant开发java程序

1.3 ant结合junit进行软件自动测试

1.4 ant开发和部署web应用程序

1.5 ant打包(jar)应用程序

1.6 ant开发EJB应用程序

参考

一、 Ant使用实例

1.3 ant结合junit进行软件自动测试

1> 用ant结合junit启动基本编译和测试的自动过程如下:

★ 执行 JUnit 测试

★ 捕获测试结果,将结果记录到 XML 文件或其它格式的文件

★ 将结果转化为基于 XSL 格式的测试报告

★ 将这个报告转化为 HTML 格式

★ 用电子邮件发送报告

一旦捕获结果,就可以使用XML格式化器将每个测试套件运行的故障和错误数,连同软件包和类名还有测试套件的执行时间一起引入。对于每个测试套件,都有以下信息被捕获:

☆ 测试案例的名称

☆ 执行的持续时间

☆ 故障或错误的类型(如果适用)

☆ 任何故障或错误的详细信息

2> 本次实例的目录结构:

D:\car 主目录

\src 源程序目录

\classes 编译后的class文件目录

\etc 其他

\xsl XSL文件目录

首先在D盘创建car目录、src子目录和etc子目录,并从%ANT_HOME%\etc下拷贝junit-noframes.xsl文件至D:\car\etc\xsl子目录下。

3> 从http://download.sourceforge.net/junit/junit3.8.zip下载,解压至D盘,将其目录下的junit.jar文件拷贝至%ANT_HOME%\lib目录下。

4> 在src子目录下新建Car.java以及testCar.java文件。

Car.java的内容如下:

//将要被测试的类

public class Car

{

public int getWheels()

{

return 3;

}

}

testCar.java的内容如下:

//执行测试的类

import junit.framework.*;

public class testCar extends TestCase

{

protected int expectedWheels;

protected Car myCar;

public testCar(String name)

{

super(name);

}

protected void setUp()

{

expectedWheels = 4;

myCar = new Car();

}

public static Test suite()

{

return new TestSuite(testCar.class);

}

public void testGetWheels()

{

assertEquals(expectedWheels, myCar.getWheels());

}

}

5> 在build.xml和build.properties文件。

buil.properties文件内容如下:

src.dir=src

build.dir=classes

xsl.dir=etc/xsl

report.dir=report

build.xml文件内容如下:

<?xml version="1.0"?>

<project default="build" basedir=".">

<property file="build.properties" description="Transfer property from .properties file"/>

<target name="build" description="Build the work directory">

<mkdir dir="${build.dir}" />

<mkdir dir="${report.dir}" />

<javac srcdir="${src.dir}" destdir="${build.dir}">

<include name="**/*.java" />

</javac>

</target>

<target name="junit" depends="build" description="Execute Unit Tests">

<tstamp/>

<junit printsummary="yes">

<classpath>

<pathelement location="${build.dir}"/>

</classpath>

<formatter type="xml" />

<batchtest todir="${report.dir}">

<fileset dir="${src.dir}">

<include name="**/testCar.java" />

</fileset>

</batchtest>

</junit>

<junitreport todir="${report.dir}">

<fileset dir="${report.dir}">

<include name="TEST-*.xml"/>

</fileset>

<report format="noframes" styledir="${xsl.dir}" todir="${report.dir}"/>

</junitreport>

</target>

<target name="clean" description="Delete the work directory">

<delete includeEmptyDirs="true">

<fileset dir="${build.dir}"/>

<fileset dir="${report.dir}"/>

</delete>

</target>

</project>

6> 在D:\car目录下运行ant junit,

这样在car\report中生成了junit-noframes.html、TESTS-TestSuites.xml和TEST-testCar.xml文件,打开junit-noframes.html查看结果。运行ant clean恢复原状。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有