持續(xù)集成實(shí)踐三,靈感來(lái)自于Martin Fowler的“持續(xù)集成“一文?梢栽趙ww.martinfowler.com看到,國(guó)內(nèi)有人翻譯成了中文。
本文假設(shè)讀者具備如下知識(shí):
1、熟練ant進(jìn)行java工程編譯(參考本人“ant編譯java工程”一文)
2、junit知識(shí),看看www.junit.org
準(zhǔn)備:
1、www.junit.org下載junit.jar
2、xml.apache.org下載xalan.jar(ant 的 juntreport需要用到,xalan好版本大于2.0,不然你還要下載其他的java庫(kù))
把junit.jar、xalan.jar拷貝到$ANT_HOME/lib/下面,并且好加到系統(tǒng)CLASSPATH(junit.jar是肯定要的,xalan.jar不清楚了)。
對(duì)自己的程序添加junit測(cè)試程序,此處請(qǐng)參考www.junit.org的文檔,很簡(jiǎn)單的。
然后在build.xml中添加如下指令,很多東西略過(guò),所以強(qiáng)烈要求讀者先完成本人“ant編譯java工程”一文)
<!-- 單元測(cè)試,需要完成compile任務(wù) -->
<target name="test" depends="compile">
<junit printsummary="yes">
<!-- 需要的classpath -->
<classpath refid="classpath"/>
<batchtest>
<!-- 單元測(cè)試文件為所有src目錄下的*Test.java文件 -->
<fileset dir="${srcDir}"><include name="**/*Test.java"/></fileset>
<!-- 生成格式為xml,也可以用plain或者brief -->
<!-- 為什么生成xml,是為了下一步做report用 -->
<formatter type="xml"/>
</batchtest>
</junit>
<!-- 對(duì)xml文件生成相應(yīng)的html文件在reports目錄下 -->
<!-- 如果指定于web可訪問(wèn)的目錄,可以使整個(gè)項(xiàng)目組看到單元測(cè)試情況 -->
<junitreport todir="reports">
<fileset dir=".">
<include name="TEST-*.xml"/>
</fileset>
<!-- 帶有框架,可以用noframes選不帶框架 -->
<report format="frames" todir="reports/html"/>
</junitreport>
</target>
現(xiàn)在運(yùn)行ant test,看看reports/下面是不是有了生成的單元測(cè)試結(jié)果的文件了?
如果有問(wèn)題可以用ant -debug test看看問(wèn)題出在哪里?
另外更改源程序,讓程序通過(guò)測(cè)試和通不過(guò)測(cè)試看看生成的結(jié)果如何?