发现7本书以开发有效的Java单元测试
單元測試在IT開發(fā)領(lǐng)域中的重要性顯然已經(jīng)確立。 對于仍然對該主題仍有疑問的開發(fā)人員,我相信我將在本文中介紹的書籍的選擇將證明是他們職業(yè)生涯的轉(zhuǎn)折點。 確實,單元測試必須是計算機程序員的最好的朋友,最重要的是,它是任何自重的業(yè)務(wù)IT項目的基石。
單元測試將使您能夠開發(fā)安全的代碼,并盡可能地控制隨著項目的進展而來的技術(shù)債務(wù)。 在10年中,當(dāng)有人必須使您的IT項目發(fā)展時,如果您創(chuàng)建了相關(guān)的單元測試套件,使他們可以放心地開發(fā)代碼,那么他們將永遠感謝您。 另外,如果他必須重構(gòu)它,單元測試也將是一個巨大的優(yōu)勢,根據(jù)項目的大小,可以節(jié)省數(shù)萬美元。
事不宜遲,我建議您找到我的7本最佳書籍清單, 以學(xué)習(xí)如何在Java中開發(fā)有效的單元測試 。
不斷增長的面向?qū)ο筌浖?#xff0c;以測試為指導(dǎo)
《 測試指導(dǎo)下的不斷增長的面向?qū)ο筌浖?/strong> 》一書涵蓋的內(nèi)容遠不止Java中單元測試的應(yīng)用。 理解單元測試,測試驅(qū)動開發(fā)(TDD)和面向?qū)ο蟮木幊?#xff08;OOP)之間的緊密聯(lián)系是本領(lǐng)域的參考。
著名的羅伯特·C·馬丁(Robert C. Martin),以“鮑勃叔叔”而著稱,他寫了最暢銷的書《 清潔代碼:敏捷軟件技巧手冊 》,對這本書說:
“最后,一本書充滿了代碼,揭示了TDD與OOD之間的深層共生。 這是一個門將。”如果這還不足以使您相信本書對軟件行業(yè)的重要性,那么我可以繼續(xù)引用本書的暢銷書“ 有效地使用傳統(tǒng)代碼 ”的作者Michael C. Feathers:
“如果您想成為TDD領(lǐng)域的專家,則需要了解本書中的想法。”《 測試指導(dǎo)下的不斷增長的面向?qū)ο筌浖?/strong> 》一書為各個級別的開發(fā)人員提供了認識TDD重要性的機會,TDD現(xiàn)在是軟件行業(yè)中公認的技術(shù),可以更快地交付質(zhì)量更好的軟件。 它顯示了如何從頭開始有效地實施它,同時在整個項目生命周期中保持開發(fā)人員的積極性。
然后,作者Steve Freeman和Nat Pryce展示了如何創(chuàng)建更簡潔,更具表現(xiàn)力且確實更強大的代碼。 創(chuàng)建單元測試以確保重點始終放在交付質(zhì)量代碼上。 更妙的是,這本書將使所有開發(fā)人員都知道,在開發(fā)IT項目時,TDD,模擬對象和面向?qū)ο缶幊倘绾卧诂F(xiàn)實生活中交織在一起。
從或多或少復(fù)雜的具體案例開始,《 測試指導(dǎo)下的不斷增長的面向?qū)ο筌浖?/strong> 》一書將使開發(fā)人員在TDD應(yīng)用中獲得成功的機會最大化。 您將能夠?qū)DD應(yīng)用于復(fù)雜數(shù)據(jù)的管理,數(shù)據(jù)持久性或程序代碼的競爭方面。
在Amazon上預(yù)訂: “ 不斷增長的面向?qū)ο筌浖?#xff0c;以測試為指導(dǎo) ”
測試驅(qū)動開發(fā):通過示例
極限編程(XP)概念的發(fā)明者和有關(guān)該方法的大量參考書的作者,肯特·貝克(Kent Beck)是計算機開發(fā)尤其是軟件測試領(lǐng)域中的一個知名名稱。 他通過將測試驅(qū)動開發(fā)作為必不可少的XP實踐,為普及測試驅(qū)動做出了貢獻。 他與Erich Gamma一起創(chuàng)建了所有Java開發(fā)人員每天都使用多年的JUnit框架。
他的書“ 測試驅(qū)動開發(fā):通過示例 ”是該領(lǐng)域中實現(xiàn)TDD的參考,并且所有尊重自己的開發(fā)人員都必須至少閱讀一次! 它將介紹從頭到尾通過TDD開發(fā)的兩個項目。 這說明了計算機程序員可以用來提高其代碼質(zhì)量的技術(shù)。
本書中的許多示例清楚地突出了TDD的所有模式以及如何有效地重構(gòu)計算機代碼。 從邏輯上講,這本書是所有敏捷方法愛好者(無論是XP還是Scrum)以及希望在保持最佳質(zhì)量水平的同時快速開發(fā)軟件的人們的參考。
在Amazon上預(yù)訂: “ 測試驅(qū)動開發(fā):示例 ”
xUnit測試模式:重構(gòu)測試代碼
我們將繼續(xù)使用Java或任何其他編程語言編寫的單元測試領(lǐng)域的參考書。 因此,Gerard Meszaros的書“ xUnit測試模式:重構(gòu)測試代碼 ”對于所有開發(fā)人員也是必讀的。 本書將使他們能夠應(yīng)對創(chuàng)建高效自動化測試的挑戰(zhàn)。 對于任何希望基于xUnit系列框架(JUnit,NUnit等)編寫自動化測試的人,它都是終極指南。
《 xUnit測試模式:重構(gòu)測試代碼 》一書重點介紹了68種模式,這些模式已被證明可以輕松創(chuàng)建隨時間推移可以理解和維護的測試。 所有這些同時要記住,它們必須是可重復(fù)的,但也要具有成本效益。 這是其他書常常忽略的東西,這本書很好地引用了它。
閱讀了Gerard Meszaros的暢銷書后,您對自動測試的視野將永遠改變,并且您將能夠快速編寫質(zhì)量測試。 您會觸手可及的知道任何自動化測試的四個階段:設(shè)置測試環(huán)境,測試系統(tǒng),驗證測試結(jié)果以及還原初始環(huán)境。 您將知道如何利用存根測試和模擬對象通過將軟件與環(huán)境隔離來提高測試覆蓋率。
最后,您將能夠設(shè)計出易于測試的軟件,同時更快地識別出著名的“測試氣味”,從而保護自己并開發(fā)出質(zhì)量更高的代碼。 簡而言之,這是一本您必須絕對閱讀的書!
在Amazon上預(yù)訂: “ xUnit測試模式:重構(gòu)測試代碼 ”
有效的單元測試:Java開發(fā)人員指南
《 有效的單元測試:Java開發(fā)人員指南 》一書將向您展示如何通過重點關(guān)注Java開發(fā)人員的世界來創(chuàng)建有效的單元測試。 在發(fā)現(xiàn)了單元測試和TDD的理論之后,這本書是邏輯上的延續(xù)。 您將逐步發(fā)現(xiàn)如何創(chuàng)建簡潔,有用,富有表現(xiàn)力的,尤其是可維護的測試。 這是一個至關(guān)重要的問題,在軟件測試領(lǐng)域經(jīng)常會出現(xiàn)。 您的單元測試套件必須具有可維護性,否則它們可能最終將死在一個角落。
Lasse Koskela的書“ 有效的單元測試:Java開發(fā)人員指南 ”著重于Java世界的工具和實踐,甚至還介紹了相關(guān)技術(shù),例如行為驅(qū)動開發(fā)(BDD)和示例規(guī)范方法。 所有這些都向您展示了如何將這些實踐引入Java開發(fā)人員工具箱。 最后,本書的第三部分提出了對JVM其他語言(Groovy,Scala等)的擴展,以便這些語言的開發(fā)人員也可以發(fā)現(xiàn)如何將本書的寶貴技巧付諸實踐。
在Amazon上預(yù)訂: “ 有效的單元測試:Java開發(fā)人員指南 ”
使用JUnit 5進行Java單元測試:使用JUnit 5進行測試驅(qū)動的開發(fā)
Junit框架的第5版發(fā)布于2017年,使用了Java 8引入的新功能,例如Lambdas或重復(fù)注釋。 所有Java開發(fā)人員至少都希望知道JUnit,但是許多人仍然使用JUnit 4的先前版本,而“ 使用JUnit 5進行Java單元測試:使用JUnit 5進行測試驅(qū)動的開發(fā) ”一書旨在幫助開發(fā)人員發(fā)現(xiàn)JUnit的新功能。 5甚至更好,將它們付諸實踐。 目的是向他們展示如何使用JUnit 5編寫單元測試以及如何將其單元測試套件從JUnit 4遷移到JUnit 5。
由Shekhar Gulati和Rahul Sharma撰寫的《 用JUnit 5進行Java單元測試:用JUnit 5進行測試驅(qū)動的開發(fā) 》一書不僅展示了JUnit 5的新功能,還通過向Java開發(fā)人員展示了如何利用JUnit 5來進一步介紹了該書。在Java技術(shù)開發(fā)項目上實施TDD。 所有這些目的都是為了提供高質(zhì)量的Java 8(及更高版本)代碼,該代碼在軟件行業(yè)中使用的所有測試指標(biāo)方面均表現(xiàn)出色。
在Amazon上預(yù)訂: “ 使用JUnit 5進行Java單元測試:使用JUnit 5進行測試驅(qū)動的開發(fā) ”
使用JUnit在Java 8中進行實用單元測試
2003年發(fā)行的《 使用JUnit進行Java中的實用單元測試 》一書取得了巨大的成功。 從那時起,Java語言發(fā)生了巨大變化,原始書Andy Hunt和Dave Thomas的作者與Jeff Langr一起編寫了一個備受期待的續(xù)集:“ 使用JUnit進行Java 8中的實用單元測試 ”。 這個經(jīng)典的修訂版將教您如何編寫可以使用JUnit輕松維護的單元測試。
更好的是,這本書將教您編寫什么測試以及什么是良好測試的基本素質(zhì)。 您將發(fā)現(xiàn)單元測試如何使您保持計算機系統(tǒng)代碼的整潔,同時乍一看似乎很復(fù)雜的功能。 本書中的示例涵蓋了Eclipse,IntelliJ IDEA和NetBeans,它們是Java世界中的三個參考IDE。
本書“ 使用JUnit的Java 8中的實用單元測試 ”也基于三位作者的反饋。 閱讀本書之后,您將能夠設(shè)計單元測試,以最大程度地減少維護工作并幫助您保持計算機系統(tǒng)的清潔。 您將不再害怕解決最困難的功能的測試。 最后,您將知道編寫單元測試時重要的是什么。 所有這些都可以使您的開發(fā)團隊永久參與編寫質(zhì)量單元測試。
在Amazon上預(yù)訂: “ 使用JUnit在Java 8中進行實用單元測試 ”
使用TestNG和Mockito進行實用單元測試
大多數(shù)Java開發(fā)人員使用JUnit參考框架在Java項目上創(chuàng)建自動化的單元測試。 但是,JUnit不是唯一可用的質(zhì)量解決方案。 由法國工程師CédricBeust創(chuàng)建的TestNG是應(yīng)該知道的測試框架。 受JUnit和NUnit的啟發(fā),TestNG旨在涵蓋更廣泛的測試類別。 除單元測試外,它還有助于創(chuàng)建集成測試,系統(tǒng)測試或驗收測試。
《 使用TestNG和Mockito進行實用的單元測試 》一書介紹了如何使用TestNG和Mockito在Java項目上實現(xiàn)單元測試策略。 后者是在Java世界中創(chuàng)建Mock Objects引用的框架之一。 作者Tomek Kaczanowski提出了編寫高質(zhì)量單元測試所需的多種技術(shù)。 因此,他回顧了模擬技術(shù),參數(shù)化測試和匹配。 它還為您在IT項目中一次或多次遇到的具體情況下的選擇提供了有趣的見解。
在閱讀本書時,Java開發(fā)人員還將學(xué)習(xí)如何通過應(yīng)用TDD方法來設(shè)置正確的單元測試,以及如何避免在TDD模式下進行的項目常見的大量錯誤。 該書的優(yōu)點是每個理論部分都附帶有代碼示例。 最后,Java開發(fā)人員將歡迎Mockito框架的發(fā)現(xiàn),他們還可以在選擇JUnit作為其單元測試框架的項目中使用它。
在Amazon上預(yù)訂: “ 使用TestNG和Mockito進行實用單元測試 ”
結(jié)論
單元測試在所有IT項目中都是必不可少的,并且必須成為想要在軟件行業(yè)從事職業(yè)的任何開發(fā)人員的最好的朋友。 通過這種選擇,您還可以理解,單元測試與開發(fā)實踐緊密相關(guān),該實踐由強烈建議用于生產(chǎn)可以隨時間進行維護的高質(zhì)量軟件的測試驅(qū)動。
通過分享您認為最適合的書籍來學(xué)習(xí)如何開發(fā)有效的Java單元測試,請隨意發(fā)表評論。
如果您想發(fā)現(xiàn)一些書籍來學(xué)習(xí)Java編程,建議您選擇以下六本Java編程最佳書籍來閱讀以下文章:
學(xué)習(xí)Java編程的6大最佳書籍
From: https://hackernoon.com/discover-the-7-best-books-to-develop-effective-java-unit-tests-565c1e38951a
總結(jié)
以上是生活随笔為你收集整理的发现7本书以开发有效的Java单元测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 压缩大战真相
- 下一篇: (9)Elasticsearch-sug
