`
changhui_liang
  • 浏览: 16182 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

ant进行JUnit

阅读更多
我们除了使用java来直接运行junit之外,我们还可以使用junit提供的junit task与ant结合来运行。涉及的几个主要的ant task如下:

l         <junit>,定义一个junit task

l         <batchtest>,位于<junit>中,运行多个TestCase

l         <test>,位于<junit>中,运行单个TestCase

l         <formatter>,位于<junit>中,定义一个测试结果输出格式

l         <junitreport>,定义一个junitreport task

l         <report>,位于<junitreport>中,输出一个junit report

       运行Junit需要jakarta-ant-1.4-optional.jar和Junit.jar包,因为这两个包用于支持ant task--<junit>的,所以不能在build.xml文件中加载,需要将他们放到ANT_HOME中去.使用eclipse可以按照一下步骤加入:

Windows-Preference-Ant-Runtime-Ant Home Entries

       下面看一个Junit测试的例子:


<?xml version="1.0"?>

<project name="project" default="junit">

         <property name="run.classpath" value="bin"></property>

         <property name="run.srcpath" value="src"></property>

         <property name="test.srcpath" value="test"></property>

         <property name="lib.dir" value="lib"/>    

        

         <path id="compile.path">

                   <pathelement location="${lib.dir}/junit-3.8.1.jar"/>

                   <pathelement location="${lib.dir}/log4j-1.2.8.jar"/>

         </path>

        

         <target name="compile">

                   <javac destdir="${run.classpath}" srcdir="${run.srcpath}"

                            classpathref="compile.path"/>

                   <javac destdir="${run.classpath}" srcdir="${test.srcpath}"

                            classpathref="compile.path"/>

         </target>

        

         <target name="junit" depends="compile">

                   <junit printsummary="true">

                            <classpath path="${run.classpath}"></classpath>

                            <test name="org.ant.test.Test1"></test>

                   </junit>

         </target>

</project>



    可以看出Junit的使用基本和java差不多, printsummary允许输出junit信息,当然Ant提供formatter属性支持多样化的junit信息输出.Ant包含三种形式的formatter:

brief:以文本格式提供测试失败的详细内容;

plain:以文本格式提供测试失败的详细内容以及每个测试的运行统计;

xml:以xml格式提供扩展的详细内容,包括正在测试时的Ant特性,系统输出,以及每个测试用      例的系统错误.

       使用formatter时建议将printsummary关闭,因为他可能对formatter的生成结果产生影响,并多生成一份同样的输出.当然我们可以使用formatter将输出结果显示在console中:

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

Junit支持多个formatter同时存在:

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

<formatter type="xml"/>

使用xml我们可以得到扩展性更强的信息输出,这时在<test>中要设定todir来指定xml的输出路径.

       在通常情况下我们不可能一个一个来处理junit,所以Ant提供了<batchtest>,可以在他里面嵌套文件集(fileset)以包含全部的测试用例.

       对于大量的用例,使用控制台输出,或者使用文件或xml文件来作为测试结果都是不合适的,Ant提供了<junitreport>任务使用XSLT将xml文件转换为HTML报告.该任务首先将生成的XML文件整合成单一的XML文件,然后再对他进行转换,这个整合的文件默认情况下被命名为:TESTS-TestSuites.xml.


             <junitreport todir="${test.xml}">

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

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

               </fileset>

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

             </junitreport>



<report>元素指示转换过程中生成有框架(frames)或者无框架的类似与javadoc格式的文件,并保存到todir所在的目录下面.(由于xalan对于JDK1.4以上的版本存在问题,所以要生成HTML文件需要以下步骤:现在最新的xalan,在%JAVA_HOME%/jre/lib中建立文件夹endorsed.将xalan中的jar文件copy到里面).

下面看一个完整的例子:


            

<?xml version="1.0"?>

<project name="project" default="junit">

    <property name="run.classpath" value="bin"></property>

    <property name="run.srcpath" value="src"></property>

    <property name="test.srcpath" value="test"></property>

    <property name="test.xml" value="xml"></property>

    <property name="test.report" value="report"></property>

    <property name="lib.dir" value="lib"/>

   

    <path id="compile.path">

       <pathelement location="${lib.dir}/junit-3.8.1.jar"/>

       <pathelement location="${lib.dir}/log4j-1.2.8.jar"/>

    </path>

   

    <target name="init">

       <delete dir="${test.report}"/>

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

       <delete dir="${test.xml}"/>

       <mkdir dir="${test.xml}"/>

    </target>

   

    <target name="compile" depends="init">

       <javac destdir="${run.classpath}" srcdir="${run.srcpath}"

           classpathref="compile.path"/>

       <javac destdir="${run.classpath}" srcdir="${test.srcpath}"

           classpathref="compile.path"/>

    </target>

   

    <target name="junit" depends="compile">

       <junit printsummary="false">

           <classpath path="${run.classpath}"></classpath>

           <formatter type="xml"/>

           <batchtest todir="${test.xml}">

              <fileset dir="${run.classpath}">

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

              </fileset>

           </batchtest>

       </junit>

      

        <junitreport todir="${test.xml}">

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

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

          </fileset>

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

        </junitreport>

    </target>

</project>

<?xml version="1.0"?>

<project name="project" default="junit">

    <property name="run.classpath" value="bin"></property>

    <property name="run.srcpath" value="src"></property>

    <property name="test.srcpath" value="test"></property>

    <property name="test.xml" value="xml"></property>

    <property name="test.report" value="report"></property>

    <property name="lib.dir" value="lib"/>

   

    <path id="compile.path">

       <pathelement location="${lib.dir}/junit-3.8.1.jar"/>

       <pathelement location="${lib.dir}/log4j-1.2.8.jar"/>

    </path>

   

    <target name="init">

       <delete dir="${test.report}"/>

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

       <delete dir="${test.xml}"/>

       <mkdir dir="${test.xml}"/>

    </target>

   

    <target name="compile" depends="init">

       <javac destdir="${run.classpath}" srcdir="${run.srcpath}"

           classpathref="compile.path"/>

       <javac destdir="${run.classpath}" srcdir="${test.srcpath}"

           classpathref="compile.path"/>

    </target>

   

    <target name="junit" depends="compile">

       <junit printsummary="false">

           <classpath path="${run.classpath}"></classpath>

           <formatter type="xml"/>

           <batchtest todir="${test.xml}">

              <fileset dir="${run.classpath}">

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

              </fileset>

           </batchtest>

       </junit>

      

        <junitreport todir="${test.xml}">

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

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

          </fileset>

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

        </junitreport>

    </target>

</project>


分享到:
评论

相关推荐

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

    总结来说,"eclipse下利用ant、junit进行自动化测试例子源码"是一个学习自动化测试流程的实用案例。通过研究和实践这个例子,开发者不仅可以掌握ANT和JUnit的基本用法,还能了解如何在Eclipse中整合这两个工具,实现...

    Ant 使用Junit进行单元测试

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

    ANT&JUNIT中文手册

    《ANT&JUNIT中文手册》是一份集合了Apache Ant和JUnit两种重要Java开发工具的中文教程,旨在帮助Java开发者更高效地理解和运用这两个工具。Ant是Apache软件基金会的一个项目,是一个基于Java的构建工具,而JUnit则是...

    ant-junit-1.6.5.jar.zip

    当我们讨论"ant-junit-1.6.5.jar.zip"时,实际上是在谈论如何将这两个工具结合使用,以便在Ant中集成JUnit进行测试。 1. Ant工具详解: Ant是Apache软件基金会的一个项目,它的设计灵感来源于Make,但采用了XML来...

    ant-junit-1.7.0.jar.zip

    在“ant-junit-1.7.0.jar.zip”中,包含了Ant对JUnit支持的特定版本,即1.7.0,这使得开发者能够直接在Ant构建脚本中调用JUnit进行单元测试。 2. JUnit 1.7.0 JUnit 1.7.0是JUnit的一个早期版本,虽然现在已经有了...

    ant+junit教程

    通过对这些文件进行研究,你可以更深入地理解如何在实际项目中结合使用Ant和JUnit。 总之,Ant和JUnit的结合使用为Java开发者提供了一套强大的工具,使得项目构建和测试工作变得更加高效和规范。通过编写清晰的Ant...

    ant-junit4.jar.zip

    总结起来,Ant-junit4.jar.zip是一个整合了Ant对JUnit4支持的压缩包,它使得开发者能够在Ant构建环境中无缝地进行单元测试。通过合理配置Ant的build.xml文件,我们可以实现自动化测试,提高开发效率,保证代码质量,...

    ant-junit-1.6.1.jar.zip

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

    ant-junit.jar

    ant-junit.jar

    Maven2.Ant.Junit合集

    《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...

    ant-junit-1.6.5.jar

    ant-junit-1.6.5.jar ant-junit-1.6.5.jar

    ant-junit-1.8.0.jar

    标签:ant-junit-1.8.0.jar,ant,junit,1.8.0,jar包下载,依赖包

    Ant与Junit结合

    标题“Ant与JUnit结合”指的是在Java开发中如何利用Apache Ant构建工具与JUnit测试框架进行集成,以便自动化地运行单元测试。Apache Ant是一种基于XML的构建工具,它替代了传统的Makefile,为Java项目提供了构建、...

    7_ant_junit和ant的整合(非常重要)

    在IT行业中,Ant和JUnit是两个非常重要的工具,它们分别用于构建管理和自动化测试。这篇讨论将专注于如何将JUnit集成到Ant构建系统中,以便在Java项目中实现高效的自动化测试。 Ant是一个由Apache软件基金会开发的...

    ant-junit-1.8.1.jar

    标签:ant-junit-1.8.1.jar,ant,junit,1.8.1,jar包下载,依赖包

    ant-junit-1.7.1.jar

    标签:ant-junit-1.7.1.jar,ant,junit,1.7.1,jar包下载,依赖包

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

    Apache Ant和JUnit是Java开发中两个非常重要的工具。Apache Ant是一种构建工具,它允许开发者自动化构建、测试和部署Java项目。而JUnit则是Java语言中最常用的单元测试框架,它使得程序员可以方便地编写和运行可重复...

    ant-junit4-1.9.4.jar

    标签:ant-junit4-1.9.4.jar,ant,junit4,1.9.4,jar包下载,依赖包

    ant-junit-1.8.4.jar

    标签:ant-junit-1.8.4.jar,ant,junit,1.8.4,jar包下载,依赖包

Global site tag (gtag.js) - Google Analytics