前言
隨着DevOp的不斷流行,自動化測試慢慢成爲Java開發者的關注點。所以,本文將分享10款優秀的單元測試框架和庫,它們能夠幫助Java開發人員在其Java項目上編寫單元測試和集成測試。git
1. JUnit
我絕對JUnit
不須要太多的介紹了。即便您是Java初學者,也可能據說過它。它能夠幫助您爲Java代碼編寫單元測試。github
幾乎全部主要的IDE(例如Eclipse,NetBeans和IntelliJIDEA
)都提供JUnit集成,這意味着您能夠直接從那些IDE編寫和運行單元測試。spring
咱們大多數人仍在使用JUnit 4,但JUnit 5
已經發布。您能夠將JUnit用於單元測試和集成測試,它還支持Java 8
功能。
數據庫
2. REST Assured
REST Assured
是github上一個開源項目。
項目地址:https://github.com/rest-assured/rest-assuredjson
優勢:api
- 簡約的接口測試DSL
- 支持xml json的結構化解析
- 支持xpath jsonpath gpath等多種解析方式
- 對spring的支持比較全面
3.Selenium
Selenium也是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操做同樣。支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否可以很好得工做在不一樣瀏覽器和操做系統之上。瀏覽器
4. TestNG
TestNG
是Java中的一個測試框架, 相似於JUnit
和NUnit
, 功能都差很少, 只是功能更增強大,使用也更方便。
框架
5. Mockito
Mockito
是GitHub上使用最普遍的Mock框架
,並與JUnit結合使用Mockito框架能夠建立和配置mock對象。使用Mockito簡化了具備外部依賴的類的測試開發。
分佈式
6. Spock Framework
Spock
是一個爲Groovy
和Java
語言應用程序來測試和規範的框架。這個框架的突出點在於它美妙和高效表達規範的語言。得益於JUnit Runner
,Spock可以在大多數IDE、編譯工具、持續集成服務下工做。Spock的靈感源於JUnit,JMock, RSpec, Groovy,,Scala,,Vulcans以及其餘優秀的框架形態。
工具
7.Cucumber
Cucumber
是一個支持BDD(Behavior Driven Development)
,即行爲驅動開發的自動化測試框架。在進行單元測試或者集成測試以前,事先將測試的步驟和驗證信息用通用的語言(英語)定義好,使得測試的步驟、單元測試和集成測試每一步執行的目的能被非開發人員讀懂,而且寫單元測試和集成測試的人員能夠依據事先寫好的框架進行代碼的編寫,達到行爲驅動開發的目的。
8.Spring Test
Spring Test
是Spring MVC
自帶了一個很是有用的測試框架,該框架無需進行Web容器便可進行深度測試。
它是用於向Spring應用程序編寫自動測試的最有用的庫之一。它提供了一流的支持,能夠爲Spring的應用程序(包括MVC控制器)編寫單元測試和集成測試。
9. DBUnit
DBUnit
是一個基於Junit擴展的數據庫測試框架。它提供了大量的類對與數據庫相關的操做進行了抽象和封裝,雖然在80%的狀況,你只需使用它極少的api。它經過使用用戶自定義的數據集以及相關操做使數據庫處於一種可知的狀態,從而使得測試自動化、可重複和相對獨立。
10.Robot Framework
Robot Framework
是一個基於Python
的,可擴展的關鍵字驅動的測試自動化框架,用於端到端驗收測試和驗收測試驅動開發(ATDD)。它可用於測試分佈式異構應用程序,其中驗證須要涉及多種技術和接口。
總結
以上就是針對Java開發人員的一些必要的單元測試和集成測試工具,框架以及庫。固然這裏沒有列出全部的工具,例如AssertJ
,Hamcrest
,它們能夠幫助您編寫漂亮而流利的測試。