自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10個(gè)Java開發(fā)人員的測(cè)試工具、庫(kù)和框架介紹

新聞 前端
最近,我寫了一些關(guān)于Java開發(fā)人員今年應(yīng)該學(xué)習(xí)什么的文章,但如果你只有一件事需要改進(jìn)或?qū)W習(xí),那么那必須是你的自動(dòng)化測(cè)試技能。

 介紹10個(gè)出色的測(cè)試框架,工具和庫(kù),以提高您的自動(dòng)化測(cè)試技能。

最近,我寫了一些關(guān)于Java開發(fā)人員今年應(yīng)該學(xué)習(xí)什么的文章,但如果你只有一件事需要改進(jìn)或?qū)W習(xí),那么那必須是你的自動(dòng)化測(cè)試技能。

測(cè)試是將專業(yè)開發(fā)人員與業(yè)余開發(fā)人員分開的學(xué)科之一。它不是關(guān)注TDD,BDD或任何測(cè)試方法,但在***級(jí)別,您必須編寫代碼來自動(dòng)測(cè)試代碼。

許多Java開發(fā)人員編寫在構(gòu)建期間自動(dòng)運(yùn)行的 和集成測(cè)試,主要是使用 或TeamCity 等持續(xù)集成工具。

如果你們中的一些人想知道為什么程序員應(yīng)該專注于自動(dòng)化測(cè)試,那么讓我告訴你,由于更多的意識(shí)和DevOps的出現(xiàn),自動(dòng)化測(cè)試的重要性呈指數(shù)級(jí)增長(zhǎng)。

公司通常更喜歡擅長(zhǎng)編寫單元測(cè)試并且熟悉各種單元測(cè)試框架,庫(kù)和工具的程序員,例如 , ,REST-Assured, 等。

作為Java開發(fā)人員,我們處理非常不同的領(lǐng)域,從編寫核心Java代碼到創(chuàng)建JSP頁(yè)面,編寫 ,有時(shí)甚至創(chuàng)建用于構(gòu)建自動(dòng)化的Groovy腳本。這就是為什么我們還需要了解我們可以用來自動(dòng)化測(cè)試的不同工具。

例如,我只知道JUnit很長(zhǎng)一段時(shí)間,但是當(dāng)我不得不測(cè)試我的JSP頁(yè)面時(shí),在找到Selenium之前我一無所知。REST Assured也是如此,因?yàn)槲彝ǔJ褂?測(cè)試我的REST API ,但REST Assured將REST API的單元測(cè)試提升到另一個(gè)級(jí)別。

10個(gè)適用于Java程序員的有用單元和集成測(cè)試工具

由于我相信程序員和他們的工具一樣好,我總是在空閑時(shí)間嘗試學(xué)習(xí)和探索新的工具和庫(kù),這個(gè)列表是該研究的一部分。

在本文中,我將分享10個(gè)***的和必不可少的 , 和庫(kù),它們可以幫助Java開發(fā)人員在各種Java項(xiàng)目上編寫單元測(cè)試和集成測(cè)試。

1. JUnit

我不認(rèn)為JUnit需要任何介紹。即使您是初學(xué)Java程序員,您也可能聽說過它。它允許您為Java代碼編寫單元測(cè)試。

幾乎所有主要的IDE(例如 , 和 )都提供JUnit集成,這意味著您可以直接從這些IDE編寫和運(yùn)行單元測(cè)試。

我們大多數(shù)人仍在使用JUnit 4,但JUnit 5已經(jīng)發(fā)布,可能是今年要看的下一個(gè)東西。您可以將JUnit用于單元測(cè)試和集成測(cè)試,它還支持Java 8功能。

2. REST Assured

在Java中測(cè)試和驗(yàn)證REST服務(wù)比在 等動(dòng)態(tài)語言中更難。

REST Assured將使用這些語言的簡(jiǎn)單性帶入了Java域。它是REST API集成測(cè)試的***工具。

3. Selenium

Selenium可能是***的Java UI測(cè)試工具,它允許您測(cè)試 而無需在瀏覽器中啟動(dòng)它們。

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

4. TestNG

TestNG是一個(gè)受JUnit和NUnit啟發(fā)的測(cè)試框架,但引入了許多新功能,使其功能更強(qiáng)大,更易于使用,例如 ,在任意大線程池中運(yùn)行測(cè)試,并提供各種策略(所有方法都在自己的線程中,一個(gè)每個(gè)測(cè)試類的線程等)。

由于使用了JUnit 4中的注釋并集成了Hamcrest匹配器,JUnit和TestNG之間的差距已經(jīng)縮小,但這取決于您。

5.Mockito

Java類有許多模擬框架,例如PowerMock和JMock,但我個(gè)人喜歡 的簡(jiǎn)單API,很棒的文檔和很多例子。

模擬是現(xiàn)代單元測(cè)試的基本技術(shù)之一,因?yàn)樗试S您在沒有任何依賴性的情況下單獨(dú)測(cè)試代碼,這就是為什么我鼓勵(lì)每個(gè)Java開發(fā)人員與 一起學(xué)習(xí)模擬框架。

我最喜歡的模擬框架是Mockito,但如果你愿意,你也可以探索PowerMock或JMock。

6. Spock框架

Spock是 和 應(yīng)用程序的另一個(gè)測(cè)試和規(guī)范框架。它是用Groovy編寫的,這使它成為一種非常富有表現(xiàn)力和規(guī)范的規(guī)范語言。

當(dāng)您使用Spock時(shí),您的測(cè)試將變得更易讀并且更易于維護(hù),并且由于其JUnit運(yùn)行程序,Spock與大多數(shù)IDE,構(gòu)建工具和持續(xù)集成服務(wù)器兼容。

7. Cucumber

Cucumber是自動(dòng)化集成測(cè)試的另一個(gè)很好的工具,但是它與同類別中的其他工具的不同之處在于它的規(guī)范功能。

Cucumber將規(guī)范和測(cè)試文檔合并為一個(gè)統(tǒng)一的整體生活文檔,由于它們將由Cucumber自動(dòng)測(cè)試,因此您的規(guī)范始終是***的。

8. Spring Test

Spring MVC帶有一個(gè)非常有用的測(cè)試框架,允許在不涉及 情況下進(jìn)行深入測(cè)試。

它是向Spring應(yīng)用程序編寫自動(dòng)化測(cè)試的最有用的庫(kù)之一。它為Spring驅(qū)動(dòng)的應(yīng)用程序(包括 編寫單元和集成測(cè)試提供了***的支持。

還有一個(gè)Spring Test DbUnit將Spring Test框架與DbUnit和Spring Test MVC HtmlUnit集成在一起,它將Spring Test MVC框架與HtmlUnit集成在一起。

通過使用這些工具,您可以輕松地以自動(dòng)方式測(cè)試 。

9. DBUnit

數(shù)據(jù)庫(kù)是許多Java應(yīng)用程序(核心Java和Web應(yīng)用程序)不可或缺的一部分,可能是進(jìn)行單元測(cè)試時(shí)的***障礙。

連接到Dev或UAT數(shù)據(jù)庫(kù)進(jìn)行集成測(cè)試是不可靠的,因?yàn)槿魏稳硕伎梢愿臄?shù)據(jù)和模式,例如表和 ,這將導(dǎo)致自動(dòng)集成測(cè)試失敗。

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

DbUnit有自己的問題,但它是一個(gè)非常有用的工具,因?yàn)樗梢詭椭覀儗y(cè)試數(shù)據(jù)創(chuàng)建與測(cè)試代碼分開。

10. Robot框架

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

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

結(jié)論

這就是Java開發(fā)人員的一些基本單元測(cè)試和集成測(cè)試工具,框架和庫(kù)的全部?jī)?nèi)容。

我還沒有列入更多的庫(kù),例如AssertJ和Hamcrest,它們可以幫助你編寫漂亮和流暢的測(cè)試 - 但是要慢慢來。

首先,學(xué)習(xí)一種可以在日常工作中使用的工具或庫(kù)。例如,如果您正在使用Java UI,那么您應(yīng)該首先學(xué)習(xí)Selenium,因?yàn)槟菢幽梢愿嗟仃P(guān)注這個(gè)工具。

責(zé)任編輯:張燕妮 來源: jdon.com
相關(guān)推薦

2021-11-21 22:43:10

Java開發(fā)框架

2018-11-21 12:21:33

Ruby框架Web應(yīng)用

2018-04-09 09:00:00

Java測(cè)試框架庫(kù)JUnit

2023-08-03 17:09:25

測(cè)試工具優(yōu)化

2012-03-20 13:58:50

JavaScript

2021-01-13 22:50:21

開發(fā)Web工具

2020-08-30 14:30:33

macOS工具開發(fā)Mac

2019-11-07 09:42:39

JavaScript框架語言

2020-04-20 17:46:41

GitHub開發(fā)庫(kù)

2010-07-06 11:00:33

RationalJazz測(cè)試管理

2015-09-21 09:34:57

2019-07-12 13:59:21

Docker軟件技術(shù)

2020-06-09 07:57:47

前端開發(fā)代碼

2020-10-13 08:41:58

Java開發(fā)框架

2018-10-12 22:50:20

機(jī)器學(xué)習(xí)API人工智能

2018-04-08 10:08:43

開發(fā)人員工具

2021-04-21 08:26:16

JavaSpring框架開發(fā)

2009-09-10 14:18:03

PHP庫(kù)

2017-10-11 13:20:56

Linux命令工程師

2019-06-03 14:20:30

Java數(shù)據(jù)庫(kù)大數(shù)據(jù)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)