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

列表 4. 啟動(dòng) TestNG 的 master 實(shí)例

java – classpath 
  c:sparkeclipsepluginsorg.testng.eclipse_4.7.0.0lib estng-jdk15.jar;.
  org.testng.TestNG -hostfile hosts.properties test-output estng-failed.xml


這樣,所有的測(cè)試用例,將會(huì)被隨機(jī)的分配到多個(gè) slave 實(shí)例上運(yùn)行。圖 9 給出了在一個(gè) slave 節(jié)點(diǎn)上運(yùn)行測(cè)試用例的結(jié)果。

圖 9. 分布式運(yùn)行的 TestNG 測(cè)試用例結(jié)果

TestNG 的多線程支持

測(cè)試用例分組中,針對(duì)網(wǎng)絡(luò)應(yīng)用的測(cè)試用例往往需要在多線程環(huán)境下運(yùn)行。TestNG 為多線程運(yùn)行某個(gè)測(cè)試用例提供了方便的內(nèi)建支持。這可以通過(guò)在測(cè)試用例的方法前制定 annotation @Test 的屬性來(lái)完成。

列表 5. 設(shè)置多線程屬性運(yùn)行測(cè)試用例

    
@Test(threadPoolSize = 3, invocationCount = 5,  timeOut = 1000, groups = { "multiple" })
public void multipleTest() {
   System.out.println("Slow test");
}


這個(gè)屬性表示,運(yùn)行 multipleTest 方法總共 5 次,在 3 個(gè)線程中運(yùn)行這五次調(diào)用。每個(gè)線程運(yùn)行該方法的時(shí)間不超過(guò) 1000 毫秒。修改 build.xml 文件,運(yùn)行 multiple 組。

列表 6. 修改 build.xml 文件,運(yùn)行 multiple 組。

    
 <target name="test">
  <testng classpathref="cp" groups="multiple">
    <classfileset dir="./" includes="example1/*.class"/>
  </testng>
 </target>

圖 10. 多線程運(yùn)行測(cè)試用例 multipleTest 的結(jié)果

總結(jié)

本文希望通過(guò)場(chǎng)景和 TestNG 新特性的結(jié)合,可以為用戶管理規(guī)模龐大的測(cè)試用例集有所幫助。場(chǎng)景中提到的分類方法,對(duì)實(shí)際項(xiàng)目中測(cè)試用例的管理具有幫助意義。其中,重跑失敗的測(cè)試用例,分組運(yùn)行,分布式運(yùn)行,和多線程運(yùn)行也是對(duì)于管理測(cè)試用例非常有幫助的特征。

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