日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
面向Java開發(fā)人員的十種測(cè)試框架庫

引言:您想提升自己的自動(dòng)化測(cè)試能力嗎?這里為您提供了10款優(yōu)秀的測(cè)試框架庫,以及它們的***用例。

10年積累的成都網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有鄠邑免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

測(cè)試能力可謂是鑒別專業(yè)開發(fā)人員與業(yè)余新手的利器。它不僅體現(xiàn)在是否能遵循TDD(Test-Driven Development,測(cè)試驅(qū)動(dòng)開發(fā))、BDD(Behavior-Driven Development,行為驅(qū)動(dòng)開發(fā))或其他任何測(cè)試方法,而且反映了您是否具有編寫出能夠自動(dòng)測(cè)試軟件代碼的能力。

如今,許多Java開發(fā)人員主要通過使用持續(xù)集成的工具(如Jenkins或TeamCity),編寫出會(huì)在構(gòu)建時(shí)就能自動(dòng)運(yùn)行的各種單元與集成測(cè)試程序。

如果在您的身邊還有人對(duì)于“程序員為何應(yīng)該關(guān)注自動(dòng)化測(cè)試”存有疑問的話,那么可以告訴他:隨著DevOps的出現(xiàn)和對(duì)它認(rèn)識(shí)的加深,業(yè)界對(duì)于自動(dòng)化測(cè)試的重要性也在呈指數(shù)式增長(zhǎng)中。

對(duì)于一般公司而言,通常會(huì)更傾慕那些擅長(zhǎng)編寫單元測(cè)試的程序員們。因?yàn)樗麄兪煜じ鞣N單元測(cè)試的框架庫與工具,例如JUnit,Selenium,REST-Assured,Spock框架等。

作為一名Java開發(fā)人員,我們經(jīng)常會(huì)涉及到一些截然不同的領(lǐng)域,例如:編寫核心的Java代碼、創(chuàng)建JSP頁面、編寫REST APIs、有時(shí)甚至?xí)榱俗詣?dòng)化的構(gòu)建而創(chuàng)建一些Groovy腳本。這也是為什么我們還需要了解如何運(yùn)用不同的工具來進(jìn)行自動(dòng)化測(cè)試的原因。

比如說:倘若我長(zhǎng)期只知道使用JUnit,但是突然必須要測(cè)試JSP頁面時(shí),我會(huì)完全沒有方向,更想不到要去尋找Selenium這樣的工具。同樣對(duì)于REST Assured來說,由于我通常會(huì)使用curl命令去測(cè)試自己的REST API,殊不知REST Assured會(huì)將REST API的單元測(cè)試帶到另一個(gè)層次上。

面向Java程序員的十種單元與集成測(cè)試工具

工欲善其事,必先利其器。我一直認(rèn)為這句話對(duì)于程序員也是適用的。因此,我經(jīng)常會(huì)在閑暇的時(shí)候去發(fā)掘、嘗試、學(xué)習(xí)和探索一些新的工具和各種庫,下面我將列出自己所收集到的一些工具。

本文所提及到的十種優(yōu)秀的基礎(chǔ)工具、框架和庫,都有助于Java開發(fā)人員根據(jù)各自手頭的項(xiàng)目,編寫出各種單元與集成測(cè)試。

1.JUnit

我不認(rèn)為我需要對(duì)Junit做任何介紹。即使您是Java編程的初學(xué)者,也一定聽說過它的大名。它可以讓您為Java代碼編寫出相應(yīng)的單元測(cè)試程序。

幾乎所有的主流集成開發(fā)環(huán)境(IDE),如Eclipse,NetBeans和IntelliJ都提供了對(duì)Junit的集成,這就意味著您可以在這些IDE環(huán)境中寫入并運(yùn)行單元測(cè)試。

雖然JUnit 5如今已經(jīng)發(fā)布了,但是大多數(shù)人至今仍然在使用JUnit 4。不過今年可能會(huì)有下一個(gè)版本面世。您可以將JUnit用于單元與集成測(cè)試,它還能夠支持Java 8的各種功能。 

2.REST Assured

在Java中測(cè)試和驗(yàn)證各種REST服務(wù),要比諸如Groovy之類的動(dòng)態(tài)語言難得多。

REST Assured則給Java領(lǐng)域帶來了語言上的簡(jiǎn)便性。它是一種十分優(yōu)秀的REST API集成測(cè)試工具。 

3.Selenium

Selenium應(yīng)該是Java UI測(cè)試中最為普遍的工具了,它允許您測(cè)試JSP頁面,而無需在瀏覽器中啟動(dòng)這些頁面。

您可以使用JUnit和Selenium來測(cè)試自己的Web應(yīng)用程序的UI。它甚至允許您去編寫Web應(yīng)用,以驗(yàn)收各種測(cè)試。 

4.TestNG

TestNG是一種由JUnit和NUnit發(fā)展而來的測(cè)試框架,不過它引入了許多新的功能,而且更為易用。例如:annotations(請(qǐng)見http://javarevisited.blogspot.hk/2012/06/junit4-annotations-test-examples-and.html#axzz56lq0jrxn)可以讓您在任意大的線程池中,運(yùn)行各種可用策略的測(cè)試(將所有方法都放在自己的線程之中,每個(gè)線程對(duì)應(yīng)一個(gè)測(cè)試類)。

通過使用JUnit 4中的annotations,可以彌補(bǔ)JUnit和TestNG之間的差距。另外只要您愿意,還可以去整合Hamcrest的匹配器。 

5.Mockito

在Java的類庫中,有著許多諸如PowerMock和JMock的mocking(模擬)框架。我個(gè)人比較喜歡Mockito,因?yàn)樗兄?jiǎn)單的API,完善的文檔和大量的示例。

Mocking是如今單元測(cè)試的一種關(guān)鍵技術(shù),它允許您在沒有任何依賴性的情況下,獨(dú)立地測(cè)試自己的代碼,這也就是為什么我鼓勵(lì)每個(gè)Java開發(fā)人員在學(xué)習(xí)Junit時(shí)一并掌握mocking框架的原因。

雖然我力推Mockito,這一mocking框架。當(dāng)然如果您有興趣,也可以去試試PowerMock或JMock。

6.Spock Framework

Spock是針對(duì)Java和Groovy應(yīng)用的另一種測(cè)試和規(guī)范框架。它是由Groovy編寫的,因此具有很強(qiáng)的表達(dá)性,而且是一種極其規(guī)范的語言。

通過使用Spock,您的測(cè)試程序會(huì)變得更加易讀、且容易維護(hù)。受益于Junit的運(yùn)行程序,Spock能夠與大多數(shù)IDE、構(gòu)建工具、以及持續(xù)集成類型的服務(wù)器相兼容。

可惜的是,我沒能在網(wǎng)上找到任何有關(guān)Spock框架的學(xué)習(xí)課程。當(dāng)然您可以通過《使用Spock進(jìn)行Java測(cè)試》(https://www.amazon.com/Java-Testing-Spock-Konstantinos-Kapelonis/dp/1617292532/ref=as_at?creativeASIN=1617292532&linkCode=w61&imprToken=MfCu8SgYHitGBTnYpPUhiw&slotNum=0&tag=javamysqlanta-20)一書來作為上手的***步資料。 

7.Cucumber

Cucumber是自動(dòng)化集成測(cè)試的另一種常用工具,它與其他同類工具的不同之處是其規(guī)范能力。

Cucumber將規(guī)范和測(cè)試文檔合并為一個(gè)可被Cucumber自動(dòng)測(cè)試的整體,從而保證了您的規(guī)范文檔一直是***的。 

8.Spring Test

Spring MVC是一種非常有用的測(cè)試框架,它可以在不涉及Web容器的情況下,進(jìn)行深層次的測(cè)試。

對(duì)于編寫針對(duì)Spring應(yīng)用的自動(dòng)化測(cè)試來說,它是一種非常有用的庫。如果您想對(duì)包括MVC控制器在內(nèi)的基于Spring的應(yīng)用,進(jìn)行單元與集成測(cè)試的話,它能夠提供***的支持。

還有一種Spring Test DbUnit,它是將具有DbUnit的Spring Test框架和具有HtmlUnit的Spring Test MVC集成在了一起。

通過使用上述這些工具,您可以輕松地以自動(dòng)化的方式去測(cè)試各種Spring MVC應(yīng)用程序。

9.DBUnit

通常,數(shù)據(jù)庫是許多Java應(yīng)用程序(包括核心Java和Web應(yīng)用)不可或缺的組成部分,當(dāng)然它可能也是單元測(cè)試中的***障礙。由于任何人都可以去更改數(shù)據(jù)、模式(schema)、表、甚至是存儲(chǔ)過程,因此連接到Dev或UAT數(shù)據(jù)庫上進(jìn)行集成測(cè)試往往是不可靠的,而且很容易導(dǎo)致自動(dòng)化集成測(cè)試的失敗。

DbUnit是JUnit的一個(gè)擴(kuò)展,它可以被用于在每次集成測(cè)試之前,將數(shù)據(jù)庫初始化為一種已知的狀態(tài),以確保數(shù)據(jù)庫包含著正確的數(shù)據(jù)。

DbUnit雖然也有其自身的問題,但是它能夠幫助我們將創(chuàng)建測(cè)試數(shù)據(jù)從測(cè)試代碼里分離出來,所以它仍是一款非常實(shí)用的工具。 

10.Robot Framework

Robot Framework是一種通用的基于Python的測(cè)試自動(dòng)化框架,它可以被用于驗(yàn)收測(cè)試和測(cè)試驅(qū)動(dòng)的開發(fā)。

它是一種將表格測(cè)試數(shù)據(jù)作為語法、以關(guān)鍵字作為驅(qū)動(dòng)的測(cè)試框架。您可以使用它來測(cè)試分布式的異構(gòu)應(yīng)用程序,其中驗(yàn)證部分需要涉及到多種技術(shù)與接口。

如果您想學(xué)習(xí)該集成測(cè)試框架,那么可以將Udemy網(wǎng)站的Robot Framework測(cè)試自動(dòng)化(https://www.udemy.com/robot-framework-level-1/?siteID=JVFxdTr9V80-V8cQwgaw3imzy3q58cwXSQ&LSNPUBID=JVFxdTr9V80)作為一個(gè)很好的開端。這是一個(gè)涵蓋了Robot framework基本與高級(jí)功能的兩部分課程。 

結(jié)論

上述就是面向Java開發(fā)人員的一些基本性的單元與集成測(cè)試的工具、框架庫。

當(dāng)然還有一些我尚未列舉到的庫,例如AssertJ和Hamcrest。只要您愿意花時(shí)間去研究,它們都可以幫助您寫出***且流暢的測(cè)試代碼。

我的經(jīng)驗(yàn)是:您可以找一種在您的日常工作中經(jīng)常會(huì)接觸到的工具或庫,然后開始學(xué)習(xí)。例如:倘若您正在使用Java UI,就應(yīng)該首先學(xué)習(xí)Selenium,因?yàn)槟鷷?huì)更為廣泛和深入地使用到該工具。同樣,如果您正在使用REST APIs,就請(qǐng)先學(xué)習(xí)REST Assured,并請(qǐng)參閱REST with Spring(http://www.baeldung.com/rest-with-spring-course?utm_source=javarevisited&utm_medium=web&utm_campaign=rws&affcode=22136_bkwjs9xa)。如果您經(jīng)常接觸核心的Java工作,那么您可能需要先開始學(xué)習(xí)JUnit 5庫了。


網(wǎng)頁名稱:面向Java開發(fā)人員的十種測(cè)試框架庫
本文網(wǎng)址:http://www.dlmjj.cn/article/cohcssh.html