您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > TestNG
使用TestNG的新特性管理實(shí)際項(xiàng)目中的大量單元測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/15 13:59:56 ] 推薦標(biāo)簽:

圖 3. 生成的測(cè)試報(bào)告

該目錄中有一個(gè) testng-failed.xml 文件,該文件可以被用來運(yùn)行前一次運(yùn)行失敗的所有測(cè)試用例。下文將會(huì)詳細(xì)介紹使用該文件的步驟。

重新運(yùn)行前次運(yùn)行失敗的測(cè)試用例

隨著項(xiàng)目開發(fā)的進(jìn)行,單元測(cè)試的數(shù)量也會(huì)成倍的增加。有時(shí)僅僅有數(shù)量很小的某幾個(gè)測(cè)試用例會(huì)運(yùn)行失敗。在這種情況之下,對(duì)于每一次修改,可能并不需要跑完所有的測(cè)試用例。只需要重新運(yùn)行前次運(yùn)行失敗的測(cè)試用例。TestNG 內(nèi)建了重新運(yùn)行上次失敗測(cè)試用例的功能,下文將會(huì)給出重新運(yùn)行前次錯(cuò)誤測(cè)試用例的步驟。

運(yùn)行一組測(cè)試用例,如果這一組測(cè)試用例中有失敗的用例,TestNG 會(huì)在輸出目錄中創(chuàng)建一個(gè)叫做 testng-failed.xml 的配置文件。這個(gè)文件記錄了本組測(cè)試用例中運(yùn)行失敗的測(cè)試用例。使用該文件,用戶可以快速的重新運(yùn)行上次運(yùn)行失敗的測(cè)試用例。而無需運(yùn)行整個(gè)測(cè)試用例組。如前文所述,運(yùn)行完 Ant 腳本之后,會(huì)在腳本運(yùn)行的目錄之中生成一個(gè) test-output 目錄。該目錄中,包含 testng-failed.xml 文件?梢杂萌缦碌拿钸\(yùn)行被標(biāo)記為運(yùn)行失敗的測(cè)試用例。

列表 3. 重新運(yùn)行前次運(yùn)行失敗的測(cè)試用例

    
C:>java -classpath
c:/spark/eclipse/plugins/org.testng.eclipse_4.7.0.0/lib/testng-jdk15.jar
org.testng.TestNG -d test-outputs test-output estng-failures.xml


運(yùn)行結(jié)果如下:

圖 4. 重新運(yùn)行前次運(yùn)行失敗的測(cè)試用例的輸出結(jié)果

分布式測(cè)試特性

隨著測(cè)試用例規(guī)模的擴(kuò)大,分組數(shù)量的增加。使用一臺(tái)主機(jī)來運(yùn)行所有的測(cè)試用例需要消耗大量的時(shí)間。為了解決這個(gè)問題,TestNG 提供了分布式特性。本文將介紹使用 TestNG 分布特征——使用多臺(tái)主機(jī)同時(shí)運(yùn)行測(cè)試用例。TestNG 提供的分布式模型如下所示:

圖 5. TestNG 提供的分布式模型

這是一個(gè)典型的 master/slave。在這個(gè)模型中,有一個(gè)負(fù)責(zé)調(diào)度的 master 節(jié)點(diǎn),和一些負(fù)責(zé)執(zhí)行任務(wù)的 slave 節(jié)點(diǎn)。下文將介紹如何配置這樣一個(gè)分布式模型。

首先,在遠(yuǎn)程機(jī)器上部署 slave 節(jié)點(diǎn)。如上圖所示,在遠(yuǎn)程節(jié)點(diǎn)上不僅要配置 TestNG 運(yùn)行環(huán)境,還需要復(fù)制測(cè)試用例文件。

圖 6. 將需要運(yùn)行的測(cè)試用例部署到遠(yuǎn)程機(jī)器上

然后在這臺(tái)遠(yuǎn)程機(jī)器上以 “slave” 模式啟動(dòng)一個(gè) TestNG 實(shí)例,使用如下命令:java – classpath <testng_path>;<testcase_path> org.testng.TestNG -slave <port>

圖 7. 以“slave”模式啟動(dòng)一個(gè) TestNG 實(shí)例

這樣,一個(gè) TestNG 實(shí)例將會(huì)被啟動(dòng),并且等待即將到來的連接請(qǐng)求。如果有需要,可以在多臺(tái)機(jī)器上以 slave 模式啟動(dòng) TestNG 實(shí)例。

完成了所有 slave 實(shí)例的啟動(dòng)之后,將所有啟動(dòng) slave 實(shí)例的主機(jī)信息記錄在一個(gè)配置文件中,如圖 8 所示:

圖 8. 分布式運(yùn)行的配置文件

然后使用該配置文件啟動(dòng) TestNG 的 master 實(shí)例。

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd