8個(gè)超實(shí)用的Java測試工具和框架
Java入門
如果你才剛開始接觸Java世界,那么要做的第一件事情是,安裝JDK——Java Development Kit(Java開發(fā)工具包),它自帶有Java Runtime Environment(JRE)和JVM(Java運(yùn)行時(shí)環(huán)境)。它能讓你在自己的電腦上編譯、運(yùn)行、測試你的Java程序。
此外,你還需要IDE(集成開發(fā)環(huán)境)。選擇有很多,如IntelliJ、Eclipse和NetBeans。
Java測試工具
下面是我精選的8個(gè)最棒的Java測試工具和框架。
1.Arquillian
Arquillian是JVM一個(gè)高度創(chuàng)新性和可擴(kuò)展的測試平臺,支持Java開發(fā)人員輕松創(chuàng)建自動化集合的,功能性的和驗(yàn)收的測試。 Arquillian允許在運(yùn)行時(shí)間執(zhí)行測試。Arquillian可以用來管理單個(gè)或多個(gè)容器的生命周期,捆扎測試用例,從屬類和資源。它還能夠部署歸 檔到容器中,在容器中執(zhí)行測試、捕獲結(jié)果,并創(chuàng)建報(bào)告。
Arquillian集成了常見的測試框架,如JUnit 4、TestNG 5,并允許使用現(xiàn)有的IDE發(fā)布測試,并且由于其模塊化的設(shè)計(jì)使得能夠運(yùn)行Ant和Maven測試插件。
官方網(wǎng)站:http://arquillian.org/
2.JTest
JTest也被稱為“Parasoft JTest”,是一款通過Parasoft制作的自動化的Java軟件測試和靜態(tài)分析軟件。JTest包含的功能有:單元測試情況下的生成和執(zhí)行、靜態(tài)代碼分析、數(shù)據(jù)流的靜態(tài)分析、度量分析、回歸測試、運(yùn)行時(shí)錯(cuò)誤檢測。
此外,它還具備了同行代碼審查流程自動化和運(yùn)行時(shí)錯(cuò)誤檢測的功能,如:競態(tài)條件、異常、資源和內(nèi)存泄漏、安全漏洞攻擊。
官方網(wǎng)站:http://www.parasoft.com/product/jtest/
3.The Grinder
“The Grinder”是一個(gè)Java負(fù)載測試框架,不但運(yùn)行簡單,而且其分布式測試采用了許多負(fù)載注入機(jī)器。只要有Java API,The Grinder就可以負(fù)載測試。這包括HTTP Web服務(wù)器、SOAP和REST Web服務(wù)器、應(yīng)用程序服務(wù)器、以及用強(qiáng)大的Jython和Clojure語言寫的包含了自定義協(xié)議的測試腳本。The Grinder的GUI控制臺允許對多個(gè)負(fù)載注射器進(jìn)行監(jiān)測和控制,并自動管理客戶端連接和cookies、SSL、代理感知和節(jié)流連接。
The Grinder在BSD風(fēng)格的開源許可下是免費(fèi)的。
官方網(wǎng)站:http://grinder.sourceforge.net/download.html
4.TestNG
TestNG是一款為Java編程語言設(shè)計(jì)的測試框架,靈感來自于JUnit和NUnit。 TestNG的主要功能是覆蓋范圍更廣的測試分類,如單元、功能性、端到端,一體化等。它還有一些新的功能,可以使之更強(qiáng)大和更容易使用,如:注解、具備 大型線程池各種策略的運(yùn)行測試、多線程的代碼測試、靈活的測試配置、參數(shù)化數(shù)據(jù)驅(qū)動的測試支持,等等。
TestNG支持各種各樣的工具和插件,比如Eclipse、IDEA、Maven等等。
官方網(wǎng)站:http://testng.org/doc/download.html
5.JUnit的
JUnit是一個(gè)為Java編程語言設(shè)計(jì)的單元測試框架。 JUnit為測試驅(qū)動開發(fā)框架的發(fā)展發(fā)揮了重要作用。它是現(xiàn)在被統(tǒng)稱為xUnit的單元測試框架大家庭的組成成員之一,源于SUnit。
在編譯時(shí),JUnit可以連接作為JAR,用于編寫可重復(fù)的測試。
官方網(wǎng)站:https://github.com/junit-team/junit/wiki/Download-and-Install
6.JWalk
JWalk是一個(gè)為Java編程語言設(shè)計(jì)的單元測試工具包。它可支持被稱為懶人系統(tǒng)單元測試的測試模式。JWalkTester工具能執(zhí)行由程序員提供的編譯過的任意Java類中的任何測試。通過靜態(tài)和動態(tài)分析,以及提示后面的程序員,它能夠使得測試符合惰性規(guī)范。
官方網(wǎng)站:http://staffwww.dcs.shef.ac.uk/people/A.Simons/jwalk/download.html
7.Mockito
Mockito是一款在MIT License可用的支持Java的開源測試框架。Mockito允許程序員使用自動化的單元測試創(chuàng)建和測試雙對象(模擬對象),以達(dá)到測試驅(qū)動開發(fā)(TDD)和行為驅(qū)動開發(fā)(BDD)的目的。
官方網(wǎng)站:http://mockito.org/
8.Powermock
PowerMock是一款支持單元測試源代碼的Java框架。雖然PowerMock可以作為Mocking框架,例如Mockito和 EasyMock的擴(kuò)展而運(yùn)行,但是它具備了更強(qiáng)大的能力。PowerMock利用自定義的類加載器和字節(jié)碼操縱器,來確保靜態(tài)方法的模擬、靜態(tài)初始化的 刪除、函數(shù)構(gòu)造、最終的類和方法以及私有方法。它的主要目的是通過最少的方法和注釋來擴(kuò)展現(xiàn)有的API,以獲得額外的功能。
它在開源Apache License 2.0條件下可用,也可以在Powermock Google Code site找到它.
官方網(wǎng)站:https://code.google.com/p/powermock/
希望本文能對你找尋適合自己的Java測試工具和框架有所幫助。
那么你用的是什么工具來對代碼進(jìn)行測試的呢親?
譯文鏈接:http://www.codeceo.com/article/8-java-test-framework.html
英文原文:The 8 Useful Java Testing tools for Programmers, Developers and Coders