編輯推薦
Java開發必讀!
從使用TDD開始,改善設計和代碼的質量、簡化重構工作、提高代碼覆蓋率。
-卓有成效地踐行測試驅動開發所需的工具和框架
-高效執行“紅燈-綠燈-重構”過程
-如何以獨立於其他代碼的方式進行有效的單元測試
-使用各種技巧設計簡單而易於維護的代碼
-使用模擬框架和技巧輕鬆編寫測試並快速執行
-結閤行為驅動開發和單元測試進行TDD
-重構遺留代碼
內容簡介
《Java測試驅動開發》介紹如何將各種TDD俱佳實踐應用於Java開發,主要內容包括:用Java語言進行TDD會用到的各種工具和框架,所需環境搭建;通過實際應用程序,展示TDD優點及開發中應注意的主要問題;TDD是如何通過模擬內部和外部依賴來提升速度的;如何重構既有應用程序;詳細介紹所有TDD俱佳實踐。 《Java測試驅動開發》適閤所有Java開發人員,也適閤用其他語言編程的程序員瞭解TDD。
作者簡介
Viktor Farcic 資-深軟件架構師,Docker船長,Java開發專傢,熱衷於測試驅動開發、行為驅動開發、持續集成、持續交付和持續部署。 他把多年經驗都分享在瞭博客上,深受讀者歡迎:http://TechnologyConversations.com。
Alex Garcia 資-深Java程序員,敏捷實踐擁躉,熱衷於學習新語言、新範式、新框架。
目錄
目錄第1章為何要關心測試驅動開發11.1為何要使用TDD11.1.1理解TDD31.1.2紅燈綠燈重構31.1.3速度是關鍵41.1.4TDD並非測試方法41.2測試51.2.1黑盒測試51.2.2白盒測試51.2.3質量檢查和質量保證的差彆61.2.4更好的測試61.3模擬71.4可執行的文檔71.5無需調試91.6小結9第2章工具、框架和環境102.1Git102.2虛擬機112.2.1Vagrant112.2.2Docker132.3構建工具142.4集成開發環境152.5單元測試框架162.5.1JUnit172.5.2TestNG192.6Hamcrest和AssertJ212.6.1Hamcrest212.6.2AssertJ222.7代碼覆蓋率工具232.8模擬框架242.8.1Mockito262.8.2EasyMock282.8.3PowerMock292.9用戶界麵測試292.9.1Web測試框架302.9.2Selenium302.9.3Selenide312.10行為驅動開發332.10.1JBehave332.10.2Cucumber352.11小結37第3章紅燈綠燈重構——從失敗到成功再到完美383.1使用Gradle和JUnit搭建環境393.2“紅燈綠燈重構”過程413.2.1編寫一個測試413.2.2運行所有測試並確認最後一個未通過413.2.3編寫實現代碼423.2.4運行所有測試423.2.5重構423.2.6重復433.3“井字遊戲”的需求433.4開發“井字遊戲”433.4.1需求1443.4.2需求2493.4.3需求3523.4.4需求4573.5代碼覆蓋率583.6更多練習593.7小結60第4章單元測試——專注於當下而非過往614.1單元測試614.1.1何為單元測試624.1.2為何要進行單元測試624.1.3代碼重構624.1.4為何不隻使用單元測試634.2TDD中的單元測試644.3TestNG644.3.1注解@Test644.3.2注解@BeforeSuite、@Be-foreTest、@BeforeGroups、@AfterGroups、@AfterTest和@AfterSuite654.3.3注解@BeforeClass和@AfterClass654.3.4注解@BeforeMethod和@AfterMethod664.3.5注解參數@Test(enable=false)664.3.6注解參數@Test(expected-Exceptions=SomeClass.class)664.3.7TestNG和JUnit差彆小結664.4“遙控軍艦”的需求664.5開發“遙控軍艦”674.5.1創建項目674.5.2輔助類694.5.3需求1694.5.4需求2724.5.5需求3744.5.6需求4754.5.7需求5774.5.8需求6804.6小結81第5章設計——難以測試說明設計不佳825.1為何要關心設計825.2Connect4845.3完成Connect4實現後再測試855.3.1需求1855.3.2需求2865.3.3需求3875.3.4需求4885.3.5需求5895.3.6需求6895.3.7需求7905.3.8需求8915.4使用TDD實現Connect4925.4.1Hamcrest925.4.2需求1935.4.3需求2935.4.4需求3965.4.5需求4975.4.6需求5995.4.7需求6995.4.8需求71005.4.9需求81015.5小結103第6章模擬——消除外部依賴1046.1模擬1046.1.1為何使用模擬對象1056.1.2術語1066.1.3模擬對象1066.2Mockito1076.3“井字遊戲”第二版的需求1076.4開發“井字遊戲”第二版1076.4.1需求11086.4.2需求21186.5集成測試1246.5.1分離測試1246.5.2集成測試1256.6小結127第7章BDD——與整個團隊協作1287.1不同規範1287.1.1文檔1297.1.2供程序員使用的文檔1297.1.3供非程序員使用的文檔1307.2行為驅動開發1307.2.1敘述1317.2.2場景1327.3書店應用程序的BDD故事1337.4JBehave1367.4.1JBehave運行器1367.4.2待定步驟1377.4.3Selenium和Selenide1387.4.4JBehave步驟1397.4.5最後的驗證1447.5小結146第8章重構遺留代碼——使其重煥青春1478.1遺留代碼1478.2編碼套路1568.2.1遺留代碼處理套路1578.2.2描述1578.2.3技術說明1578.2.4添加新功能1578.2.5黑盒測試還是尖峰衝擊測試1578.2.6初步調查1588.2.7應用遺留代碼修改算法1618.2.8提取並重寫調用1668.2.9消除狀態的“基本類型偏執”壞味1708.3小結173第9章功能開關——將未完成的功能部署到生成環境1759.1持續集成、持續交付和持續部署1759.2功能開關1779.3功能開關示例1789.3.1實現fibonacci服務1819.3.2使用模版引擎1849.4小結187第10章綜述18810.1TDD概要18810.2最佳實踐18910.2.1命名約定18910.2.2流程19110.2.3開發實踐19210.2.4工具19510.3這隻是開始19610.4這並非終點196
Java測試驅動開發 下載 mobi epub pdf txt 電子書 格式