分享
 
 
 

Apach ANT实践

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

自己做的一个试验项目的Ant文件。其中包含了编译Java文件,生成jar包,利用javadoc产生Java like的API说明文件,利用JUnit作自动测试并且产生JUnit的测试报表。

下面是源代码和一些注释。

<?xml version="1.0" encoding="UTF-8"?>

<!--

Build file for Demo

Creation date : $Date: 2005-07-10 $

Updated date : $Date: 2005-07-21 $

Author: Daniel

-->

<project name="Demo" default="docs" basedir=".">

<!-- 项目的先前准备工作,这里我们与先给出一些变量,便于我们在build.xml中使用。 -->

<!-- set global properties for this build -->

<property name="src" value="src" />

<property name="build" value="build" />

<property name="dist" value="dist" />

<property name="docs" value="docs" />

<property name="rpts" value="rpts" />

<property name="src.test" value="${src}" />

<property name="classes.test" value="${build}" />

<property name="javadoc" value="http://java.sun.com/j2se/1.4.2/docs/api"/>

<!-- 作为编译项目的目的就是想获得最新的生成文件/库/jar包……,所以为了确保项目有一个清爽的环境,我们有必要在开始一个新的编译前,清空以前产生的旧文件,这边我的做法是删除文件夹。比如,docs目录是用来存放API文档的,build文件夹用来存放编译的class文件,现在删除,可以在后面的Task产生。 -->

<target name="clean">

<!-- Delete the ${build} and ${dist} directory trees -->

<delete dir="${build}" />

<delete dir="${dist}" />

<delete dir="${docs}" />

<delete dir="${rpts}" />

</target>

<!-- 初始化项目,注意depends这个关键字,意思是依赖于某个项目的完成,也就是项目的依赖关系。 -->

<target name="init" depends="clean" description="init the project">

<!-- Create the time stamp -->

<tstamp />

<!-- Create the build directory structure used by compile -->

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

</target>

<!-- 编译项目。并且指定源文件在src目录下,生成的class文件存放在build目录。 -->

<target name="compile" depends="init" description="compile the source code">

<!-- Compile the java code from ${src} into ${build} -->

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

</target>

<!-- 生成jar文件,并且指定了jar的文件名称和存放的目录 -->

<target name="dist" depends="compile" description="">

<!-- Create the distribution directory -->

<mkdir dir="${dist}/library" />

<!-- Put everything in ${build} into the Demo-${DSTAMP}.jar -->

<jar jarfile="${dist}/library/Demo-${DSTAMP}.jar" basedir="${build}" />

</target>

<!-- 单元测试部分。使用JUnit作自动测试,include关键字指定了包含的java文件。 -->

<!-- Prepare for creating the report-->

<target name="test" depends="dist" description="">

<!-- Create the unit test report directory -->

<mkdir dir="${rpts}"/>

<property name="tests" value="*Test" />

<junit printsummary="yes" haltonerror="no" haltonfailure="no">

<formatter type="plain" usefile="false"/>

<formatter type="xml"/>

<batchtest todir="${rpts}">

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

<include name="**/${tests}.java"/>

</fileset>

</batchtest>

<classpath>

<pathelement location="${classes.test}"/>

</classpath>

</junit>

</target>

<!-- 生成单元测试报告。使用JUnit所带的生成测试报表功能,产生一套本次的测试报告。 -->

<!-- Create the report-->

<target name="report" depends="test" description="">

<junitreport todir="${rpts}">

<fileset dir="${rpts}">

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

</fileset>

<report todir="${rpts}"/>

</junitreport>

</target>

<!—利用javadoc根据源代码中的javadoc注释生成API文档。 -->

<!-- Api document -->

<target name="docs" depends="report" description="create api doc">

<!-- Create the document directory -->

<mkdir dir="${docs}" />

<!-- Create the document -->

<javadoc sourcepath = "${src}"

destdir="${docs}"

author="true"

version="true"

use="true"

windowtitle="Demo API"

link="${javadoc}">

<!-- Set which name space should be used -->

<packageset dir="${src}" defaultexcludes="yes">

<!-- include name="cn.Siemens.SPSE.CNB.Demo.Calculaotr" / -->

<!-- include name="javadoc_test" /-->

<!-- include name="junit_test" /-->

</packageset>

<doctitle>

<![CDATA[<h1>Demo Project</h1>]]>

</doctitle>

<bottom>

<![CDATA[<i>Siemens PSE All Rights Reserved.</i>]]>

</bottom>

<tag name="todo" scope="all" description="To do:" />

</javadoc>

</target>

</project>

以上是由具体的一个项目定制的一个build.xml。在看《JUnit in Action》的时候看到了“如何使用啊Ant作自动测试”的部分,所以利用JUnit生成了一些TestCase和TestSuite,效果总的来说还是不错的,实现了单元测试的自动化(自动测试)和可度量(报表包含了TestCase测试信息,包括测试Case数,通过率,Error个数,Failure个数,对于所有的错误异常都记录在案)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有