持续集成实践三,灵感来自于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看看问题出在哪里? 另外更改源程序,让程序通过测试和通不过测试看看生成的结果如何? |