`

Ant与Junit结合

    博客分类:
  • java
阅读更多
一个简单的Java项目里面有Junit测试类,文件结构:如下图(图片在附件里)
src为源码目录
test为测试源码目录
junit_test.xml为ant脚本
junit_test02.xml为ant脚本
junit_test03.xml为ant脚本(该项目用的这个ant脚本)
readme.txt里面有一点说明

将下面的压缩包,down下来后,解压到任意位置。

运行步骤:
1、打开命令行,进到刚解压的根目录(能看到junit_test03.xml的目录)
2、在命令行中,输入:ant -f junit_test03.xml,即可。

里面,junit_test03.xml文件中,对Ant执行Junit任务,有比较详细的说明
<?xml version="1.0" encoding="gbk" ?>
<project name="junit_application" basedir="." default="test-basic">
	<description>Ant'test with Junit</description>
	
	<property environment="env"/>
	
	<!-- 使用TestSuite,测试所有需要测试的TestCase的子类-->
	<property name="test.suite" value="d1.core.test.AllTests"/>
	
	<property name="build.dir" location="build"/>
	<property name="src.dir" location="src"/>
	<property name="src.build" location="${build.dir}/classes"/>
	<property name="test.src.dir" location="test"/>
	<property name="test.dir" location="${build.dir}/test"/>
	<property name="test.build" location="${build.dir}/test/classess"/><!-- test.classes.dir-->
	<property name="test.data.dir" location="${test.dir}/data"/>
	<property name="test.reports.dir" location="${test.dir}/reports"/>
	
	<property name="test.debug" value="on"/>
	
	<!-- compile.classpath-->
	<path id="junit.classpath" location="${env.ANT_HOME}/lib/junit-3.8.2.jar"/>

	<!-- test.compile.classpath-->
	<path id="test.classpath">
		<!--<pathelement path="%ANT_HOME%/lib/junit-3.8.2.jar"/>-->
		<path refid="junit.classpath"/>
		<pathelement path="${src.build}"/><!-- test编译时,用到src编译目录下的类-->
	</path>
	
	<path id="test.run.classpath">
		<path refid="test.classpath"/>
		<pathelement path="${test.build}"/><!-- test执行,指向要用到test编译目录下的类-->
	</path>
	
	<!-- 将${test.data.dir}目录下的所有以"TEST-"打头的xml文件,转化为HTML文件,并存放到${test.reports.dir}目录下-->
	<target name="report_exchange_to_html" description="将产生的xml报告,转化成Html">
		<!-- <junitreport>标签有两个属性:tofile与todir
			tofile:将之前junit产生的xml格式结果,聚集在一起,形成一个总的xml(这里,只是聚集后文件的名称,缺省是用的Test-TestSuites.xml)
		-->
		<junitreport todir="${test.data.dir}">
			<fileset dir="${test.data.dir}">
				<include name="TEST-*.xml"/>
			</fileset>
			
			<!-- <report>标签有三个属性:format、styledir以及todir
				format:两种frames与noframes
				styledir:使用缺省,在%ANT_HOME%/lib/ant-junit.jar里
				todir:存放转换后的html结果目录
			-->
			<report format="frames" todir="${test.reports.dir}"/>
		</junitreport>
	</target>
	
	<target name="test-basic" depends="test-compile" description="测试TestCase">
		<echo>Ant's location is ${env.ANT_HOME}</echo>
		
		<!-- 如果<junit>标签下,既有<test>标签又有<batchtest>标签,它们均会执行-->
		<!-- 设置errorproperty与failureproperty属性,是为了,当在测试时,如遇到error或failure时,就在产生报告后,停止build-->
		<!-- 这里,用了fork、forkmode以及maxmemory属性,是让Ant运行与测试运行,使用不同的JVM,让它们的效率高一点-->
		<junit errorproperty="test.failed"
			   failureproperty="test.failed"
			   fork="true"
			   maxmemory="256M"
			   forkmode="perBatch">
			<classpath refid="test.run.classpath"/>
			
			<!-- 这里,<sysproperty>标签相当于,命令行中,使用 -D 命令(为属性赋值),当然,这是在新的JVM里-->
			<sysproperty key="test.url" value="http://localhost:8080/"/>
			<sysproperty key="debug" value="true"/>
			<sysproperty key="data.dir" file="./data"/>
			
			<!-- 当程序中,有用到assert时,我们可以在这里设置,哪些包的哪些类的assert有效与无效
				 本配置:说明,除包d1.core下的类Events中的assert失效外,其它的都有效
			-->
			<assertions enableSystemAssertions="true">
				<enable/>
				<enable package="d1.core"/>
				<disable class="d1.core.Events"/>
			</assertions>
			
			<!-- Junit测试报告输出格式:三种 brief、plain与xml-->
			<!-- usefile="true"后,控制台将不会有信息输出,它将输出到指定的目录下-->
			<!-- classname属性与type属性,任选其一,其中classname,由包名+类名,如:classname="org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"
				 extension属性,表示后缀名
			-->
			<formatter type="brief"
					   extension=".html"
					   usefile="true"/><!-- 缺省时,报告文件后缀名为.txt-->
			
			<formatter type="xml"/><!-- 缺省时,报告文件后缀名为.xml-->
			
			<!-- 一个<test>标签只能,测试一个,
			如果想测试多个,可以写多个<test>标签,但是它的效率比<batchtest>低 -->
			<!-- 输出Junit测试报告:outfile为文件名(缺省时,由"Test-"与name属性组成),todir为报告目录,以及上面的,
				 extension为报告后缀名(缺省时,就为相应JunitResultFormmater接口的实现类指定的后缀名)-->
			<test name="${test.suite}"  outfile="Test-${test.suite}" todir="${test.reports.dir}"/>
			
			<!-- <batchtest>标签,可以测试多个test-->
			<batchtest todir="${test.data.dir}">
				<fileset dir="${test.build}">
					<include name="**/test/*Test.class"/>
				</fileset>
			</batchtest>
		</junit>
		
		<!-- 将xml报告,转化为HTML-->
		<antcall target="report_exchange_to_html"/>
		
		<!-- 当测试有error或failure时,就停止build-->
		<fail if="test.failed">
			Test is failed. Check ${test.reports.dir}
		</fail>
		
		<echo>测试失败后,还能执行到这里来吗???Check to ${test.reports.dir}</echo>
		
	</target>
	
	<target name="test-compile" depends="init" description="编译程序">
		<!-- 编译src与test-->
		<javac srcdir="${src.dir}" 
			   destdir="${src.build}"
			   debug="${test.debug}">
		</javac>
		<javac srcdir="${test.src.dir}"
			   destdir="${test.build}"
			   debug="${test.debug}">
			   <classpath refid="test.classpath"/>
		</javac>
	</target>
	
	<target name="init" depends="cleanup" description="初始化">
		<mkdir dir="${src.build}"/>
		<mkdir dir="${test.build}"/>
		<mkdir dir="${test.data.dir}"/>
		<mkdir dir="${test.reports.dir}"/>
	</target>
	
	<target name="cleanup" description="清理。。。">
		<delete dir="${build.dir}"/>
	</target>
	
</project>
  • 大小: 6.2 KB
分享到:
评论
4 楼 lihongchen 2014-07-02  
挺详细的  呵呵
3 楼 yp8760974 2012-05-10  
不错的例子。
2 楼 harbey 2012-05-07  
Mark!
1 楼 harbey 2012-05-07  
很好,很详细!

相关推荐

    ant-junit-1.7.0.jar.zip

    《Ant与JUnit结合:ant-junit-1.7.0.jar.zip详解》 在软件开发过程中,测试是不可或缺的一环,而JUnit作为Java语言中最常用的单元测试框架,为开发者提供了便利。同样,Apache Ant作为一款强大的构建工具,帮助...

    ant-junit-1.6.5.jar.zip

    《Ant与JUnit结合:深入解析ant-junit-1.6.5.jar.zip》 在Java开发领域,Ant和JUnit是两个不可或缺的工具。Ant是一种基于Java的构建工具,用于自动化项目构建过程,如编译、打包、测试等任务。JUnit则是Java编程...

    ant-junit-1.6.1.jar.zip

    《Ant与JUnit结合:ant-junit-1.6.1.jar.zip详解》 在软件开发过程中,测试是不可或缺的一环,而JUnit作为Java语言中最常用的单元测试框架,为开发者提供了便利。同样,Apache Ant作为自动化构建工具,对于项目管理...

    一个使用ant及junit进行单元测试的简单例子

    总结来说,本示例展示了如何使用Apache Ant管理和执行Java项目的单元测试,结合JUnit进行测试用例的编写。通过Ant的XML配置文件,我们可以自动化测试过程,提高开发效率,确保代码质量。同时,通过属性文件可以方便...

    6_ant_junit介绍(基于4的版本)

    将Ant与JUnit结合,可以实现自动化测试的集成。在Ant构建脚本中,可以使用junit任务来调用JUnit测试。例如,以下是一个简单的Ant配置示例: ```xml &lt;junit printsummary="yes" haltonfailure="no"&gt; ...

    eclipse下利用ant、junit进行自动化测试例子源码

    本示例主要展示了如何在Eclipse集成开发环境中利用ANT构建工具和JUnit单元测试框架进行自动化测试。以下是关于这些知识点的详细说明: 1. **Eclipse IDE**:Eclipse是一款流行的开源Java开发环境,支持多种语言的...

    ANT执行junit

    总之,Ant与JUnit结合使用,能够为Java项目提供强大的自动化测试能力,确保代码质量并简化持续集成流程。通过理解和配置`build.xml`,开发者可以定制测试环境,满足项目需求。同时,JUnit的易于编写和理解的测试用例...

    ant-junit-1.6.3.jar.zip

    《Ant与JUnit结合:深入解析ant-junit-1.6.3.jar.zip》 在Java开发领域,构建管理和单元测试是两个至关重要的环节。Apache Ant和JUnit作为Java开发中的明星工具,分别扮演着构建自动化和单元测试的角色。本文将详细...

    ANT&JUNIT中文手册

    Ant与JUnit的结合使用是Java开发中的常见实践,Ant负责项目的构建,而JUnit则确保代码的质量。通过Ant,你可以设定一系列构建规则,包括编译源代码、执行测试、打包应用等,而JUnit则在每个开发周期中为你的代码提供...

    ant-junit-1.6.4.jar.zip

    《Ant与JUnit结合:深入解析ant-junit-1.6.4.jar.zip》 在Java开发领域,构建工具Ant和单元测试框架JUnit是不可或缺的组件。Ant作为一个基于XML的自动化构建工具,允许开发者通过简单的配置文件来管理项目的构建、...

    ant+junit教程

    这个“ant+junit教程”会深入探讨这两个工具的集成与使用。 首先,Ant是一个基于XML的构建工具,它的主要任务是编译源代码、运行测试、打包应用以及执行其他构建过程。Ant的任务通过XML文件(通常命名为build.xml)...

    ant-junit4.jar.zip

    《Ant与JUnit4结合使用详解》 在Java开发过程中,自动化构建工具Ant和单元测试框架JUnit4是不可或缺的两个部分。Ant-junit4.jar.zip是一个包含Ant和JUnit4相关依赖的压缩包,它使得开发者能够方便地在Ant构建环境中...

    Apache Ant 与Junit 对Java工程联合测试DEMO

    在与JUnit结合使用时,Ant可以在构建过程中自动执行测试,并生成测试报告。在配置`junit`任务时,你需要指定测试类或包含测试的类路径,还可以设置如失败时是否中断构建等选项。例如: ```xml &lt;junit ...

    Generate the JUNIT report by Ant and Junit

    本话题将详细介绍如何利用Ant与JUnit结合,生成JUnit测试报告。 首先,我们需要理解`build.properties`文件。这是一个配置文件,用于存储项目相关的属性,如编译路径、库文件路径等。在Ant中,可以通过`property`...

    Ant 使用Junit进行单元测试

    接下来,我们将深入探讨如何使用Ant结合JUnit进行单元测试。 首先,我们需要了解Ant的基本概念。Ant是一个由Apache基金会开发的任务驱动的构建系统,它的核心是build.xml文件,这是一个XML格式的脚本,定义了构建...

    Ant1.7+Junit4.3 (4.0)

    将Ant与JUnit结合,开发者可以在构建过程中自动运行测试,确保每次修改代码后,新代码的质量都有所保证。 这篇博文的链接虽然已经失效,但根据常见的博客内容推测,博主可能分享了如何配置Ant构建脚本,以便与JUnit...

    Ant+Junit+SVN的安装过程

    在本文中,我们将详细介绍如何配置Ant、JUnit和SVN,这三个工具在Java开发中的重要性以及它们的安装过程。 首先,Ant是一个基于Java和XML的构建工具,它的主要功能是管理和自动化项目的构建过程。Ant通过一个名为...

    Ant+Junit+Svn实现自动单元测试

    总结来说,Ant+JUnit+Svn的结合可以实现从版本控制仓库自动获取最新代码,编译项目,运行单元测试,生成测试报告,并在必要时发送邮件通知的完整自动化流程。这种自动化测试流程对于持续集成和提高开发效率具有重要...

    ant-junit-1.6.2.jar.zip

    《Ant与JUnit集成:深入解析ant-junit-1.6.2.jar.zip》 在Java开发领域,Ant和JUnit是两个不可或缺的工具。Ant作为Apache软件基金会开发的构建工具,帮助开发者自动化构建、测试和部署Java项目。而JUnit则是Java...

Global site tag (gtag.js) - Google Analytics