<target name="component-test" if="Junit.present" depends="junit-present,compile-tests"> <mkdir dir="${testreportdir}"/> <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> <sysproperty key="basedir" value="."/> <formatter type="xml"/> <formatter usefile="false" type="plain"/> <classpath> <path refid="build.classpath"/> <pathelement path="${testclassesdir}"/> <pathelement path="${classesdir}"/> </classpath> <batchtest todir="${testreportdir}"> <fileset dir="test"> <include name="**/ComponentTestSuite.java"/> </fileset> </batchtest> </junit> </target>
理想情況下,還需要有調用單元測試和系統測試的任務。最后,在想要運行整個測試套件時,應該創建一個依賴于所有三種測試種類的第四項任務,如清單 3 中如示:
<target name="test-all" depends="unit-test,component-test,system-test"/>
創建定制 TestSuite
是實現測試分類的一個快速解決方案。這個方法的缺點是:一旦創建新測試,就必須通過編程將它們添加到適當的 TestSuite
中,這很痛苦。為每種測試創建定制目錄更具擴展性,且允許不 經過重新編譯就添加新的經過分類的測試。
我發現,用 JUnit 實現測試分類最簡單的方法是將測試在邏輯上劃分為與其測試類型相應的特定目錄。使用這項技術,所有的單元測試將駐留在一個 unit 目錄中,所有的組件測試將駐留在一個 component 目錄中,依此類推。
例如,在一個保存所有未分類測試的 test 目錄中,可以創建三個新的子目錄,如清單 4 所示:
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/