日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

最近我寫了一些文章,關于 JAVA 程序員今年應該學習什么,例如編程語言,庫和框架等,如果只能學習或提高其中一項,那必然是自動化測試技能。

測試是專業程序員區別于業余程序員的一項指標,作為專業程序員,并非必須采用 TDD,BDD 或其它測試方法論,但最低標準是通過編寫代碼的方式,來自動化測試自己的代碼。

許多 Java 程序員編寫單元測試和集成測試,使用 Jenkins、TeamCity 等持續集成工具,在構建階段自動運行。

如果還有人對程序員是否應該關注自動化測試存有疑問,那么讓我來回答,隨著 DevOps 理念的增強和角色的涌現,自動化測試的重要性正在呈指數型增長。

企業通常青睞那種擅長編寫單元測試的程序員,這些程序員對各種單元測試框架、庫和工具有著豐富的知識,比如 JUnit,Selenium,REST-Assured,Spock 框架等。

作為 Java 程序員,我們在截然不同的領域工作,從編寫 Java 核心代碼到 JSP 頁面,REST API,甚至有時為了構建自動化而去編寫 Groovy 腳本,這就要求我們必需了解不同的自動化測試工具。

舉一個例子,很長一段時間內,我只了解 JUnit,但當不得不測試 JSP 頁面時,我卻束手無策,直到我找到了 Selenium。REST Assured 是另一個類似的例子,我通常使用 curl 命令測試 REST API,但 REST Assured 將 REST API 的單元測試水平提升到了另一個層次。

Java 程序員需要用到十大單元測試和自動化集成測試工具

我認為一個優秀的程序員,必然能夠很好地利用手頭上的工具,因此我總在業余時間學習和探索新的工具和庫,以下列表是我部分研究成果。

在這篇文章中,我將分享 10 個最為優秀且必不可少的工具,框架和庫,這些可以幫助 java 程序員在各類 java 項目中編寫單元測試和集成測試。

JUnit

JUnit 無須贅述,即便是初級Java程序員,可能也已經聽說過它,你可以使用它編寫 Java 代碼的單元測試。

幾乎所有主流 IDE,例如 Eclipse,NetBeans 和 IntelliJ,都集成了 JUnit,可以直接在這些IDE中編寫和運行單元測試。

大多數人仍在使用 JUnit 4,即使 JUnit 5 已經發布,它很可能是今年下一個熱點。通過 JUnit 5,可以將 JUnit 同時應用于單元測試和集成測試,并且它還支持 Java 8 的特性。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

REST Assured

用 Java 語言測試和驗證 REST 服務,要難于 Groovy 這類動態語言。

REST Assured 將這類語言的易用性帶入了 Java 領域,是一個優秀的 REST API 的集成測試工具。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

Selenium

Selenium 很可能是最流行的 Java UI 測試工具了,它可以讓你在不必啟動瀏覽器的情況下測試 JSP 頁面。

你可以使用 JUnit 和 Selenium 來測試 Web 程序的界面,它甚至允許你編寫 Web 應用程序的驗收測試。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

TestNG

TestNG 是一個測試框架,其靈感來自 JUnit 和 NUnit,但同時引入了一些新的功能,使其功能更強大,使用更方便。例如可以使用注解,在任意大的線程池中,配置各種可用策略進行測試(例如所有方法都在自己的線程中,每一個測試類使用一個線程等)。

因為 TestNG 使用 JUnit 4 的注解,同時又集成了 HAMCSTREST 匹配器,它與 JUnit 的差異已經減小了,但兩者如何選擇,這取決于你。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

Mockito

Java 類有許多 Mock 框架,例如 PowerMock 和 JMock,但我個人偏向于 Mockito,因為它有簡單的 API,優秀的文檔以及大量的示例。

Mocking 是現代單元測試的一項關鍵技術,因為它允許你在沒有任何依賴的情況下獨立測試代碼,這就是為什么我鼓勵每個 Java 程序員在學習 JUnit 的同時,一起學習 Mocking 框架的原因。

我最喜歡的 mocking 框架是 Mockito,但如果你愿意,也可以研究下 PowerMock 或 JMock。

Spock框架

Spock 是另一個測試和規范框架,用于 Java 和 Groovy 應用程序。由于使用 Groovy 編寫,Spock 成為一種兼具豐富表現力且簡明扼要的規范語言。

當你使用 Spock 時,你的測試將變得更容易閱讀和維護,這得益于它采用的 JUnit 運行器,Spock 兼容大部分 IDE,構建工具和持續集成服務器。

可惜我沒有找到有助于學習 Spock 框架的課程,但閱讀《Java Testing with Spock》這本書是很好的開始。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

Cucumber

Cucumber 是另一個重要的自動化集成測試工具,但與其它同類別的工具不同的是它能夠針對規格文檔進行自動化測試。

Cucumber 將規格文檔和測試文檔合成整個動態文檔,同時 Cucumber 自動測試這個文檔,使測試規范始終保持在最新版本。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

Spring Test

Spring MVC 自帶一個很有用的測試框架,它可以在不引入 Web 容器的情況下進行深入測試。

Spring Test 是為 Spring 程序編寫自動化測試的最有用的庫之一。為了給 Spring 驅動的應用程序(包括 MVC 控制器在內),編寫單元測試和集成測試,Spring Test 提供了一流的支持。

另外,Spring Test DbUnit 集成了 Spring Test 框架與 DbUnit;Spring Test MVC htmlUnit 集成了Spring Test MVC 框架和 HtmlUnit。

通過使用這些工具,你可以輕松地自動測試 Spring MVC 應用程序。

DBUnit

數據庫是許多 Java 應用程序,包括核心 Java 和 Web 應用程序中不可或缺的部分,也有可能是單元測試的最大障礙。

在進行集成測試時,連接開發環境或用戶驗收測試的數據庫并不可靠,因為任何人都可以更改數據模式和數據本身,例如表和存儲過程等,這會導致自動化集成測試失敗。

DbUnit 是一個 JUnit 擴展,每次集成測試前,將數據庫初始化成已知狀態,確保數據庫存儲正確的數據。

DbUnit 自身還存在著一些問題,但它是一個非常有用的工具,因為它可以幫助我們分離測試數據與測試代碼。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

Robot 框架

Robot 框架是一個基于 Python 的通用測試自動化框架,用于驗收測試和驗收測試驅動開發。

它是一個由關鍵字驅動的,使用表格測試數據語法的測試框架,可以用來測試那些涉及多種技術和接口的分布式異構應用。

如果你打算學習這個優秀的集成測試框架,那么你可以從 Udemy 上的《Robot 框架測試自動化》的課程開始,這是一個很好的學習資源。

該課程涵蓋了兩部分內容,Robot 框架基礎和高級特性。

 

Java 程序員需要用到 10 個測試框架和庫,你使用過幾個?

 

結論

以上列舉了Java 程序員需要用到的單元測試和集成測試工具,框架和庫。

還有很多庫沒有包括在這個列表中,例如 AssertJ 和 Hamcrest,它們可以幫助你寫出漂亮且流暢的測試,但學習需要一步步來。

首先,學習一個可以應用于日常工作的工具或庫。例如,如果你正在使用 Java UI,那么首先應該學習 Selenium,這樣你可以有更多時間專注在這個工具上。

同樣的,如果你的工作內容是 REST API,請學習 REST Assured(參閱 REST with Spring);如果你正在做很多核心 Java 的工作,那么 JUnit 5 可能是你首先需要關注的庫。

http://www.baeldung.com/rest-with-spring-course?utm_source=javarevisited&utm_medium=web&utm_campaign=rws&affcode=22136_bkwjs9xa

歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。

分享到:
標簽:框架 測試 Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定