您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
單元測試框架TestNg使用總結(jié)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2015/2/3 15:17:09 ] 推薦標簽:單元測試 TestNG

  單元測試的重要性是不言而喻的。但如果沒有好的單元測試工具,是無法激起開發(fā)人員的欲望。
  Testng便是利器之一。TestNG是基于Annotation的測試框架的先驅(qū),他擁有通過添加諸如靈活的裝置、測試分類、參數(shù)測試和依賴方法等特性來克服JUnit3的一些不足之處。下面我將總結(jié)一些TestNg的重要特性。
  關(guān)于testng.xml
  Testng.xml是以xml記錄所有測試的文件。它描述了測試套件的運行時定義,也是testng中運行測試的大工作單元。雖然沒有testng.xml文件,測試也很容易被執(zhí)行。但是隨著測試代碼的增長,testng.xml提供了方便用來存放所有運行時的配置,如設(shè)置有關(guān)類,測試,方法,參數(shù),分組的包含與排除等。在測試類越來越多時,它顯得非常重要。
  Testing.xml的主要結(jié)構(gòu)
  根標簽是<suite>
<suite>標簽包含一個或多個<test>標簽
<test>標簽包含一個或多個<classes>標簽
<classes>標簽包含一個或多個<method>標簽
  一般來說,大多數(shù)文件詳細到<classes>標簽即可。
  Testing.xml的額外標簽
<packages>和<package>:顧名思義,它們可以指定一組java包,在這個標簽中還可以用包含<include>或者排除<exclude>屬性。
<parameter>定義了參數(shù)名稱和值,它的使用是與測試類當中@Parameters的注釋結(jié)合使用的,作用和@Dataprovider類似,提供外部參數(shù),功能不如@Dataprovider強大,有局限性。
<suite-files>和<suite-file>:它是用來引入其他testng.xml文件的,這些文件將于當前文件一起執(zhí)行。
<groups>,<define>和<run>:這三個標簽結(jié)合使用,在執(zhí)行時用來指定或者排除一部分的分組,以一個例子見分曉:
<groups>
<define name=”all”>
<include name=”test1”/>
<exclude name=”test2”/>
</define>
<run>
<include name=”all”/>
</run>
<groups>
  注意執(zhí)行測試的默認順序是按照testng.xml里給定的順序執(zhí)行的。如果你不希望按此順序執(zhí)行,請使用preserve-order屬性指定為false。如<test name="Regression1" preserve-order="false">。關(guān)于testng.xml的標簽詳細說明,可參見testng.xml的官方文檔。
  在實際開發(fā)時,我建議testng.xml以功能點為粒度進行劃分。然后以總的testng.xml將各個功能點的配置匯總起來。
  參數(shù)傳遞
  Testng改進了傳統(tǒng)測試框架無法傳遞參數(shù)的缺點,它能夠提供了想測試方法傳遞參數(shù)的簡單兩種的方法:
  1,在測試方法上加@Parameters標簽,然后在testng.xml給出參數(shù)。
  2,指定@Dataproviders。
  第一種方式的缺點很明顯,它只支持java基本類型,并且在構(gòu)造值時,無法包含計算邏輯得到需要的參數(shù)。
  第二種方式可以想測試方法傳遞任何有效的java類型。我們傾向于第二種方法來構(gòu)造參數(shù)。
  在此,我們再介紹一種傳遞參數(shù)的方式:工廠注釋@Factory,它不同于前面兩種參數(shù)傳遞。
  讓我們回顧一下普通的testng測試,這些測試類是無參數(shù)構(gòu)造方法(默認構(gòu)造方法,無法接受參數(shù))的。@Factory的出現(xiàn),正是彌補這一缺陷而產(chǎn)生的。@Factory的方法在執(zhí)行時會被首先檢查并執(zhí)行,且只執(zhí)行一次。執(zhí)行完以后返回一個Object數(shù)組。這個數(shù)組里對象的內(nèi)容便是當前測試方法帶了構(gòu)造函數(shù)的實例。在使用@Factory的同時,該測試類還有一個對應(yīng)帶參數(shù)的構(gòu)造函數(shù),@Factory是為以構(gòu)造函數(shù)提供參數(shù)的形式提供了幫助。

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