技术开发 频道

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

【IT168 技术文章】

    持续集成实践三,灵感来自于Martin Fowler的“持续集成“一文。可以在www.martinfowler.com看到,国内有人翻译成了中文。

    本文假设读者具备如下知识:

    1、熟练ant进行java工程编译(参考本人“ant编译java工程”一文)

    2、junit知识,看看www.junit.org

    准备:

    1、www.junit.org下载junit.jar

    2、xml.apache.org下载xalan.jar(ant 的 juntreport需要用到,xalan最好版本大于2.0,不然你还要下载其他的java库)

    把junit.jar、xalan.jar拷贝到$ANT_HOME/lib/下面,并且最好加到系统CLASSPATH(junit.jar是肯定要的,xalan.jar就不清楚了)。

    对自己的程序添加junit测试程序,此处请参考www.junit.org的文档,很简单的。

    然后在build.xml中添加如下指令,很多东西略过,所以强烈要求读者先完成本人“ant编译java工程”一文)

    <!-- 单元测试,需要完成compile任务 -->

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

    <junit printsummary="yes">

    <!-- 需要的classpath -->

    <classpath refid="classpath"/>

    <batchtest>

    <!-- 单元测试文件为所有src目录下的*Test.java文件 -->

    <fileset dir="${srcDir}"><include name="**/*Test.java"/></fileset>

    <!-- 生成格式为xml,也可以用plain或者brief -->

    <!-- 为什么生成xml,是为了下一步做report用 -->

    <formatter type="xml"/>

    </batchtest>

    </junit>

    <!-- 对xml文件生成相应的html文件在reports目录下 -->

    <!-- 如果指定于web可访问的目录,就可以使整个项目组看到单元测试情况 -->

    <junitreport todir="reports">

    <fileset dir=".">

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

    </fileset>

    <!-- 带有框架,可以用noframes选不带框架 -->

    <report format="frames" todir="reports/html"/>

    </junitreport>

    </target>

    现在运行ant test,看看reports/下面是不是有了生成的单元测试结果的文件了?

    如果有问题可以用ant -debug test看看问题出在哪里?

    另外更改源程序,让程序通过测试和通不过测试看看生成的结果如何?

0
相关文章