TESTNG&&JUNIT4對(duì)比

特性或指標(biāo)

TESTNG

JUINT4

1. 測(cè)試是否支持(Annotations)

YES

YES

2.框架依賴程度

不需要擴(kuò)展特定的基類和實(shí)現(xiàn)特定的方法

不需要擴(kuò)展特定的基類和實(shí)現(xiàn)特定的方法

3.靈活性

同樣支持Before,After方法,TestNG更為靈活,支持各種簽名方式,

private,protected

同樣也支持BeforeClass AfterClass,只執(zhí)行一次的方法,但是可以不需要使用static簽名

支持Before,After方法

支持BeforeClass AfterClass

4.依賴性測(cè)試

利用 Test 注釋的 dependsOnMethods 屬性來應(yīng)對(duì)測(cè)試的依賴性問題。有了這個(gè)便利的特性,就可以輕松指定依賴方法。

難確定測(cè)試用例執(zhí)行的順序

5.失敗和重運(yùn)行

一旦 TestNG 中出現(xiàn)失敗,它就會(huì)創(chuàng)建一個(gè) XML 配置文件,對(duì)失敗的測(cè)試加以說明。如果利用這個(gè)文件執(zhí)行 TestNG 運(yùn)行程序,TestNG 就只運(yùn)行失敗的測(cè)試。這樣可以快速定位出錯(cuò)方法,并且節(jié)約大量的時(shí)間。

失敗文件,一般命名為testng-failed.xml,以后只需要運(yùn)行此文件就可以了。

如果測(cè)試套件包括 N 項(xiàng)測(cè)試,其中 M(M<=N) 項(xiàng)失敗,很可能就會(huì)迫使您重新運(yùn)行整個(gè)測(cè)試套件(修改錯(cuò)誤以后)。這樣的工作會(huì)耗費(fèi)掉大量的時(shí)間。

6.參數(shù)化測(cè)試

TestNG 提供了開箱即用的類似特性。通過在 TestNG XML 配置文件中放入?yún)?shù)化數(shù)據(jù),就可以對(duì)不同的數(shù)據(jù)集重用同一個(gè)測(cè)試用例,甚至有可能會(huì)得到不同的結(jié)果。

支持@DataProvider 注釋可以方便地把復(fù)雜參數(shù)類型映射到某個(gè)測(cè)試方法。

如果您想改變某個(gè)受測(cè)方法的參數(shù)組,就只能給每個(gè) 不同的參數(shù)組編寫一個(gè)測(cè)試用例。多數(shù)情況下,這不會(huì)帶來太多麻煩。出現(xiàn)大量的重復(fù)測(cè)試代碼。

7測(cè)試分組

支持

不支持

8多線程測(cè)試

TestNG對(duì)多線程測(cè)試的支持良好,只需要配置即可。

JUnit中要想進(jìn)行多線程測(cè)試比較麻煩,需要其它模塊。

設(shè)計(jì) JUnit 的目的是側(cè)重點(diǎn)分析代碼單元,而 TestNG 的預(yù)期用途則針對(duì)高級(jí)測(cè)試。



------君臨天下,舍我其誰------