JUnit VS TestNG 戰場上,你是哪一方
JUnit 框架是 Java 語言單元測試當前的一站式解決方案。這個框架值得稱贊,因為它把測試驅動的開發思想介紹給 Java 開發人員并教給他們如何有效地編寫單元測試
TestNG是一種基于注釋的測試框架,通過添加諸如靈活的裝置、測試分類、參數測試和依賴方法等特性來克服JUnit的一些不足之處。TestNG 的創造者是 Cedric Beust,他在 Java 編程領域非常出名,是 EJB 3 專家組的成員,也是其他一些流行的開源項目(例如 EJBGen 和 Doclipse)的創造者。TestNG 在 Apache 軟件許可條款約束下發布,并可從其 Web 站點下載(請參閱 參考資料 中到該站點和 Cedric 站點的鏈接)。
表面看起來,兩者是非常相似的。使用方法也都非常的簡便。但是從核心設計的出發點而言,兩者是不一樣的。JUnit一直將自己定位于單元測試框架,也就是說用于測試單個對象。而TestNG定位于更高層次的測試,因此具備了一些JUnit所沒有的功能。
JUnit是一個面向Java的單元測試框架,有著多年的開發成果,有很多項目支撐。TestNG 的靈感來自 JUnit,同時盡量保持后者的簡單性;但是,TestNG 消除了老框架的大多數限制,使開發人員可以編寫更加靈活、更加強大的測試。
兩者的擁躉都是相當龐大。
Michael Minella提供了一個JUnit和TestNG的簡潔但有用的對比表。
(表格來源: 英文 :http://www.michaelminella.com/blog/2.html
中文:http://www.infoq.com/cn/news/2008/08/junit_not_dead)
特性 | JUnit | TestNG |
用戶自定義生命周期 | ![]() |
![]() |
測試的組織(組等等) | ![]() |
|
分布式測試 | ![]() |
|
并行測試 | ![]() |
|
數據驅動測試 | ![]() |
|
依賴測試 | ![]() |
|
IDE集成 | ![]() |
![]() |
Ant集成 | ![]() |
![]() |
Maven集成 | ![]() |
![]() |
特定領域的擴展(數據庫、HTTP等) | ![]() |
|
活躍的社區 | ![]() |
![]() |
本文作者:javaread.com
posted on 2008-08-26 22:09 javaread.com 閱讀(1622) 評論(4) 編輯 收藏