您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
软件测试之使用ant进行junit测试
作者:网络转载 发布时间:[ 2013/3/20 14:24:56 ] 推荐标签:

二.Junit联手Ant
ant 我们已经很熟悉了.直接把buile.xml配置好,值得学习的是build中关于使用junit和junitreport这两个任务标签.
<?xml version="1.0" encoding="GB2312" ?>    <!--encoding属性解决了注释中文问题-->
<project name="junitlesson" default="report">
 <property file="lesson6.property"/>
 <target name="init">
  <mkdir dir="${classes.java.dir}"/>
  <mkdir dir="${classes.test.dir}"/>
 </target>
 
 <target name="compilejava" depends="init">
  <javac srcdir="${src.java.dir}/cn/itcast" destdir="${classes.java.dir}" />
 
 </target>
 
 <target name="compiletest" depends="init">
  <javac srcdir="${src.test.dir}/cn/itcast" destdir="${classes.test.dir}" >
  <classpath>
    <pathelement location="${classes.java.dir}" />
   </classpath>
  </javac>
 </target>
 
 <target name="compile" depends="compilejava,compiletest" />
 
 <target name="clean">
   <delete dir="{classes.java.dir}" />
   <delete dir="{classes.test.dir}" />
 </target>
 
 <target name="test" depends="clean,compile">
  <mkdir dir="reports" />
  <junit fork="true" printsummary="on"  >
  <classpath>
    <pathelement location="${classes.junit.dir}" />
   <pathelement location="${classes.java.dir}" />
   <pathelement location="${classes.test.dir}" />  
  </classpath>
  <!--test name="cn.itcast.TestFindChar" todir="." /-->
 
  <!--没有formatter看不到输出信息,可以有多个formatter如果出错退出了build(haltonfailure)-->
  <batchtest fork="yes" todir="reports">                    <!--批处理-->
    <fileset dir="${src.test.dir}">
<!--注意include和includes的区别,我在这吃了大亏,找这个错误浪费了我好多时间-->
 <!-- batchtest指定的java源文件或class文件,而不是要运行的测试类名称,junit从这些文件中找出要运行的测试类名-->   

      <include name="**/*Test*.java"/>            
      <exclude name="**/AllTests.java"/>
    </fileset>
  </batchtest>
  <formatter type="brief" usefile="false"/>  <!--如果没有设置formatter,将无法打印出详细的信息-->
 
  <formatter type="plain" /><!--默认usefile为true,将会自动创建txt文件-->
  <formatter type="xml" />
 
  </junit>
 </target>
 
 <target name="report" depends="test">
  <junitreport todir="." >
   <fileset dir="./reports">
    <include name="TEST-*.xml" />                      <!--根据指定文件夹中的.xml文件生成html格式的测试report-->
   </fileset>
   <report format="frames" todir="." />
  </junitreport>
 </target>
</project>
build中用到的.property文件:
src.java.dir=src/java
src.test.dir=src/test
classes.java.dir=classes/java
classes.test.dir=classes/test
class1=junit.swingui.TestRunner
classes.junit.dir=D:junit3.8.1junit.jar
看到没有,在build中配置的是junit.swingui.TestRunner,程序运行之后的测试结果应该显示在图形界面中,但是,ant运行以后,是以文字信息在命令行窗口中输出的,至于原因可能是类加载器的问题.
ant完成之后生成的.html格式的report,如下图:

这样可以根据测试结果来完善我们的程序了,用起来也很方便的.
三.总结
在使用ant进行junit测试的时候,我们应该注意的是,在src目录下,创建java和test两个文件夹,java中放被测试类,test中放测试类,但是它们的包名是相同的,这叫分离但等同.还应该注意的是,classpath应该设置正确,还有脑子要清晰,否则会因为包名问题浪费过多的时间.
在极限编程(XP)中,TDD(Test Driven Development)是一种实践.测试驱动开发.我们应该养成这种测试先行的行为习惯.

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd