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