1. 總體概念
TestNG,即Testing, Next Generation,下一代
測試技術,是一套根據JUnit 和 NUnit思想而構建的利用注釋來強化測試功能的一個測試框架,即可以用來做
單元測試,也可以用來做集成測試。
2. 介紹
TestNG是一個設計用來簡化廣泛的測試需求的測試框架,從單元測試(隔離測試一個類)到集成測試(測試由有多個類多個包甚至多個外部框架組成的整個系統,例如運用服務器)。
編寫一個測試的過程有三個典型步驟:
* 編寫測試的 業務邏輯并在代碼中插入TestNG annotation
* 將測試信息添加到testng.xml文件或者build.xml中
* 運行TestNG
在歡迎頁面上可以找到快速入門示例。
下面是這篇文檔使用的概念:
* suite由xml文件描述。它包含一個或多個測試并被定義為<suite>標簽
*
test由<test>描述并包含一個或者多個TestNG類
* TestNG類是包含至少一個TestNG annotation的
java類,由<class>標簽描述并包含一個或多個測試方法
* 測試方法是源文件中帶有@Testd注釋的java方法
TestNG測試可以被@BeforeXXX 和 @AfterXXX annotations配置,容許在特定點的前后執行一些java邏輯,這些點上面已經列出。
這份手冊的剩余部分將講述以下內容:
* 所有的annotation列表并帶有簡短說明,為TestNG的多種功能性提供參考, 你可能需要參考為每個annotation提供的代碼片段來
學習細節。
* testng.xml文件描述,它的語法和如果指定它。
* 多個特性的詳細列表和怎樣結合annotation和testng.xml來使用它們
*******************************************************************************
注:上面的內容很簡短,但是請注意其中的一些細節。
1. TestNG是一個設計用來簡化廣泛的測試需求的測試框架,從單元測試到集成測試
這個是TestNG設計的出發點,不僅僅是單元測試,而且可以用于集成測試。設計目標的不同,對比junit的只適合用于單元測試,TestNG無疑走的更遠。
可以用于集成測試,這個特性是我選擇TestNG的最重要的原因。
2. 測試的過程的三個典型步驟,注意和junit(4.0)相比,多了一個將測試信息添加到testng.xml文件或者build.xml
測試信息尤其是測試數據不再寫死在測試代碼中,好處就是修改測試數據時不需要修改代碼/編譯了,從而有助于將測試人員引入單元測試/集成測試。
3. 基本概念,相比junit的TestCase/TestSuite,TestNG有suite/test/test method三個級別,即將test/test method明確區分開了。
junit中的TestCase將test/test method混合,比較容易讓人概念不清晰,尤其是新手。