持續(xù)集成實踐三,靈感來自于Martin Fowler的“持續(xù)集成“一文?梢栽趙ww.martinfowler.com看到,國內(nèi)有人翻譯成了中文。
本文假設(shè)讀者具備如下知識:
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/下面,并且好加到系統(tǒng)CLASSPATH(junit.jar是肯定要的,xalan.jar不清楚了)。
對自己的程序添加junit測試程序,此處請參考www.junit.org的文檔,很簡單的。
然后在build.xml中添加如下指令,很多東西略過,所以強烈要求讀者先完成本人“ant編譯java工程”一文)
<!-- 單元測試,需要完成compile任務(wù) -->
<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文件生成相應(yīng)的html文件在reports目錄下 -->
<!-- 如果指定于web可訪問的目錄,可以使整個項目組看到單元測試情況 -->
<junitreport todir="reports">
<fileset dir=".">
<include name="TEST-*.xml"/>
</fileset>
<!-- 帶有框架,可以用noframes選不帶框架 -->
<report format="frames" todir="reports/html"/>
</junitreport>
</target>
現(xiàn)在運行ant test,看看reports/下面是不是有了生成的單元測試結(jié)果的文件了?
如果有問題可以用ant -debug test看看問題出在哪里?
另外更改源程序,讓程序通過測試和通不過測試看看生成的結(jié)果如何?