Working hard, Not hard working!

发布新日志

  • Ant+junit实现测试自动化

    hades 发布于 2006-12-15 09:55:23

    随着Refactoring技术和XP软件工程技术的广泛推广,单元测试的作用在软件工程中变得越来越重要,而一个简明易学、适用广泛、高效稳定的单元测试框架则对成功的实施单元测试有着至关重要的作用。在java编程语句环境里,Junit Framework是一个已经被多数java程序员采用和实证的优秀的测试框架,但是多数没有尝试Junit Framework的程序员在学习如何Junit Framework来编写适应自己开发项目的单元测试时,依然觉得有一定的难度,这可能是因为Junit随框架代码和实用工具附带的用户指南和文档的着重点在于解释单元测试框架的设计方法以及简单的类使用说明,而对在特定的测试框架(Junit)下如何实施单元测试,如何在项目开发的过程中更新和维护已经存在的单元测试代码没有详细的解释。因此本文档就两个着重点对Junit所附带的文档进行进一步的补充和说明,使Junit能被更多的开发团队采用,让单元测试乃至RefactoringXP技术更好在更多的开发团队中推广。

       本文将以代码方式展示ant+junit进行整体测试的方法,并生成测试报告,发送给开发人员的信箱

        junit.jar放在ant_home/lib下,然后编写build.xml文件  

    build.xml

    <?xml version="1.0" encoding="gb2312"?>
    <!--
    测试文件,并将测试报告发送到开发人员指定的信箱

     by biggie(
    biggie@hns-soft.com)-->
    <project name="test" default="build" basedir=".">
     <property environment="env"/>
     <property name="j2ee" value="env.j2ee_home"/>
     <property name="base.dir" value="." />
    <!--
    定义测试源文件-->
     <property name="src" value="${base.dir}/test" />
    <!--
    定义输出位置
    -->
     <property name="classes" value="${base.dir}/defaultroot/WEB-INF/classes"/>
    <!--
    定义
    lib-->
     <property name="lib" value="${base.dir}/lib"/>
    <!--
    定义
    classpath-->
     <path id="appclasspath">
      <pathelement path="${java.class.path}"/>
      <fileset dir="${base.dir}/defaultroot/WEB-INF/lib">
       <include name="*.jar"/>
      </fileset>
      <pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
      <pathelement location="D:/j2sdkee1.3.1/lib/j2ee.jar"/>
     </path>
       <!--initialization-->
     <target name="init">
            <tstamp/>
            <mkdir dir="${classes}"/>
        </target>
        <target name="compiletest" depends="init">
            <!--javac-->
            <javac srcdir="${src}" destdir="${classes}" debug="off">
      <classpath refid="appclasspath"/>
                <include name="**/*.java" />
            </javac>
        </target>
        <target name="build" depends="compiletest,run">
       <tstamp/>
        <exec executable="${base.dir}/email.bat" >
      </exec>
        </target>
        <target name="run">
       <junit>
      <classpath refid="appclasspath"/>
      <classpath>
       <pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
      </classpath>
      <formatter type="xml"/>
      <test name="test.AllTests" haltonfailure="no" ōutfile="result"/>
        </junit>
       <junitreport todir="./report">
      <fileset dir=".">
       <include name="result.xml"/>
      </fileset>
      <report format="noframes" todir="./report"/>
             </junitreport>
        </target>
        </project>

    生成测试报告后,调用emai.bat文件,执行一发送邮件操作。为实现群发,所以我采用的是别外写一应用程序发送邮件,当然您也可以用ant直接发送邮件。程序员第7期有相关文章介绍,这里我就不多说了。

    本文提供的是一个思路,你还可以实现更强大的功能,分布测试整体测试等等.



我的栏目

数据统计

  • 访问量: 6481
  • 日志数: 10
  • 建立时间: 2007-08-07
  • 更新时间: 2008-05-18

RSS订阅

Open Toolbar