要想知道兩個框架的區別,首先分別介紹一下兩個框架。TestNG是一個java中的開源自動化測試框架,其靈感來自JUnit和NUnit,TestNG還涵蓋了JUnit4整個核心的功能,但引入了一些新的功能,使其功能更強大,使用更方便。
它是一個在類中運行測試的框架。它為相應的測試製作類,然後處理它們。TestNG是一個先進的框架,克服了JUnit中的限制。
它也被認為是一個靈活的工具來執行測試,因為它使用相同的類來運行其所有的測試,並管理線程來運行程序,這使得檢查測試的整體功能快速。
而TestNG的特點:TestNG可以把測試方法放在Java組中。
TestNG處理單元測試,將參數傳入測試方法。
TestNG利用線程可以更好地提高測試性能,因為執行時間減少。
JUnit的一些限制被克服了,因為TestNG支持並行測試的執行。
JUnit是一個Java語言的單元測試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源於KentBeck的sUnit的xUnit家族中為最成功的一個。
JUnit有它自己的JUnit擴展生態圈。多數Java的開發環境都已經集成了JUnit作為單元測試的工具。
它支持通過編寫和測試來運行測試。
JUnit框架最初是基於用於單元測試的SUnit框架,但後來使用Selenium WebDriver對Java進行了更新。
現在,當我們需要在Java中進行測試時,JUnit被作為一個標準。Junit的特點可以歸納如下:JUnit不支持同時運行並行測試。
JUnit框架在Java 8中被更新。
JUnit有助於在編寫代碼時實現測試驅動的編程。
JUnit現在被許多語言所支持。
所以單純的從字面意思上看,Junit更加原始一些,而TestNG則是採用了Junit的模式和資源。
所以可以從以下幾個方面對二者進行詳細的對比:
比較基礎 |
JUnit |
TestNG |
開發團隊 |
JUnit是由Kent Beck、David Saff、Erich Gamma開發的。Erich Gamma, and Kris Vasudevan。 |
TestNG是一個測試框架,由Cédric Beust開發。 |
開源性 |
JUnit是一個開源的框架,用於觸發和編寫測試。 |
TestNG是一個基於Java的框架,是運行測試的一個升級選擇。 |
平行測試 |
JUnit不支持運行平行測試。 |
TestNG可以運行並行測試。 |
註解支持 |
JUnit不支持高級註解。 |
TestNG支持高級註解。 |
依賴性 |
JUnit中缺少依賴性測試。 |
TestNG中存在依賴性測試。 |
分組特性 |
分組測試在JUnit中是不可能的。 |
TestNG測試可以被分組並並行運行。 |
易用性 |
運行測試需要對JUnit有一定的依賴性。 |
編寫測試和配置它們在TestNG中比JUnit容易。 |
但是因為Junit是比較基本的核心技術,所以在不少自動化測試工具中,默認支持的還是Junit,比如Selenium IDE中,如果要導出測試腳本的話,對於Java語言的腳本,支持的框架就是還是Junit。
導出的測試腳本的內容: