Java測試驅動開發

Java測試驅動開發

《Java測試驅動開發》是2020年3月人民郵電出版社出版的圖書,作者是[西]維克多·法西克、阿列克斯·加西亞。

基本介紹

  • 中文名:Java測試驅動開發
  • 作者:[西]維克多·法西克、阿列克斯·加西亞
  • ISBN:9787115465016
  • 頁數:196頁
  • 定價:49元
  • 出版社:人民郵電出版社
  • 出版時間:2020年3月
  • 裝幀:平裝
  • 開本:16開
內容簡介,目錄,

內容簡介

《Java測試驅動開發》介紹如何將各種TDDzui佳實踐套用於Java開發,主要內容包括:用Java語言進行TDD會用到的各種工具和框架,所需環境搭建;通過實際應用程式,展示TDD優點及開發中應注意的主要問題;TDD是如何通過模擬內部和外部依賴來提升速度的;如何重構既有應用程式;詳細介紹所有TDDzui佳實踐。
《Java測試驅動開發》適合所有Java開發人員,也適合用其他語言編程的程式設計師了解TDD。

目錄

第1章 為何要體整束關心測試驅動開發 1
1.1 為何要使用TDD 1
1.1.1 理解TDD 3
1.1.2 紅燈 綠燈 重構 3
1.1.3 速度是關鍵 4
1.1.4 TDD並非測試方法 4
1.2 測試 5
1.2.1 黑盒測試 5
1.2.2 白盒測試 5
1.2.3 質量檢查和質量保證的差別 6
1.2.4 更好的測試 6
1.3 模擬 7
1.4 可執行的文檔 7
1.5 無需調試 9
1.6 小結 9
第 2章 工具、框架和環境 10
2.1 Git 10
2.2 虛擬機 11
2.2.1 Vagrant 11
2.2.2 Docker 13
2.3 構建工具 14
2.4 集成開發環境 15
2.5 單元測試框架 16
2.5.1 JUnit 17
2.5.2 TestNG 19
2.6 Hamcrest和AssertJ 21
2.6.1 Hamcrest 21
2.6.2 AssertJ 22
2.7 代碼覆蓋率工具 23
2.8 模擬框架 24
2.8.1 Mockito 26
2.8.2 EasyMock 28
2.8.3 PowerMock 29
2.9 用戶界面測試 29
2.9.1 Web測試框架 30
2.9.2 Selenium 30
2.9.3 Selenide 31
2.10 行為驅動開發 33
2.10.1 JBehave 33
2.10.2 Cucumber 35
2.11 小結 37
第3章 紅燈 綠燈 重構——從失敗到成功 38
3.1 使用Gradle和JUnit搭建環境 39
3.2 “紅燈 綠燈 重構”過程 41
3.2.1 編寫一個測試 41
3.2.2 運行所有測試並確認**後一個境墓未通過 41
3.2.3 編寫實現代碼 42
3.2.4 運行所有測試 42
3.2.5 重構 42
3.2.6 重複 43
3.3 “井字遊戲”的需求 43
3.4 開發“井字遊戲” 43
3.4.1 需求1 44
3.4.2 需求2 49
3.4.3 需求3 52
3.4.4 需棗組員求4 57
3.5 代碼覆蓋率 58
3.6 更多練習說拔檔 59
3.7 小結 60
第4章 單元測試——專注於當下而祝備坑照非
過往 61
4.1 單元測試 61
4.1.1 何為單元測少凝棄試 62
4.1.2 為何要進行單元測試 62
4.1.3 代碼重構 62
4.1.4 為何不只使用單元測試 63
4.2 TDD中的單元測試 64
4.3 TestNG 64
4.3.1 註解@Test 64
4.3.2 註解@BeforeSuite、@Be- foreTest、@BeforeGroups、 @After Groups、@AfterTest和@AfterSuite 65
4.3.3 註解@BeforeClass和@AfterClass 65
4.3.4 註解@BeforeMethod和@AfterMethod 66
4.3.5 註解參數@Test(enable = false) 66
4.3.6 註解參只項蒸旬數@Test(expected- Exceptions = SomeClass. class) 66
4.3.7 TestNG和JUnit差別小結 66
4.4 “遙控軍艦”的需求 66
4.5 開發“遙控軍艦” 67
4.5.1 創建項目 67
4.5.2 輔助類 69
4.5.3 需求1 69
4.5.4 需求2 72
4.5.5 需求3 74
4.5.6 需求4 75
4.5.7 需求5 77
4.5.8 需求6 80
4.6 小結 81
第5章 設計——難以測試說明設計
不佳 82
5.1 為何要關心設計 82
5.2 Connect4 84
5.3 完成Connect4實現後再測試 85
5.3.1 需求1 85
5.3.2 需求2 86
5.3.3 需求3 87
5.3.4 需求4 88
5.3.5 需求5 89
5.3.6 需求6 89
5.3.7 需求7 90
5.3.8 需求8 91
5.4 使用TDD實現Connect4 92
5.4.1 Hamcrest 92
5.4.2 需求1 93
5.4.3 需求2 93
5.4.4 需求3 96
5.4.5 需求4 97
5.4.6 需求5 99
5.4.7 需求6 99
5.4.8 需求7 100
5.4.9 需求8 101
5.5 小結 103
第6章 模擬——消除外部依賴 104
6.1 模擬 104
6.1.1 為何使用模擬對象 105
6.1.2 術語 106
6.1.3 模擬對象 106
6.2 Mockito 107
6.3 “井字遊戲”第 二版的需求 107
6.4 開發“井字遊戲”第 二版 107
6.4.1 需求1 108
6.4.2 需求2 118
6.5 集成測試 124
6.5.1 分離測試 124
6.5.2 集成測試 125
6.6 小結 127
第7章 BDD——與整個團隊協作 128
7.1 不同規範 128
7.1.1 文檔 129
7.1.2 供程式設計師使用的文檔 129
7.1.3 供非程式設計師使用的文檔 130
7.2 行為驅動開發 130
7.2.1 敘述 131
7.2.2 場景 132
7.3 書店應用程式的BDD故事 133
7.4 JBehave 136
7.4.1 JBehave運行器 136
7.4.2 待定步驟 137
7.4.3 Selenium和Selenide 138
7.4.4 JBehave步驟 139
7.4.5 **後的驗證 144
7.5 小結 146
第8章 重構遺留代碼——使其重煥
青春 147
8.1 遺留代碼 147
8.2 編碼套路 156
8.2.1 遺留代碼處理套路 157
8.2.2 描述 157
8.2.3 技術說明 157
8.2.4 添加新功能 157
8.2.5 黑盒測試還是尖峰衝擊測試 157
8.2.6 初步調查 158
8.2.7 套用遺留代碼修改算法 161
8.2.8 提取並重寫調用 166
8.2.9 消除狀態的“基本類型偏執”壞味 170
8.3 小結 173
第9章 功能開關——將未完成的功能
部署到生成環境 175
9.1 持續集成、持續交付和持續部署 175
9.2 功能開關 177
9.3 功能開關示例 178
9.3.1 實現fibonacci服務 181
9.3.2 使用模版引擎 184
9.4 小結 187
第 10章 綜述 188
10.1 TDD概要 188
10.2 **佳實踐 189
10.2.1 命名約定 189
10.2.2 流程 191
10.2.3 開發實踐 192
10.2.4 工具 195
10.3 這只是開始 196
10.4 這並非終點 196
3.4 開發“井字遊戲” 43
3.4.1 需求1 44
3.4.2 需求2 49
3.4.3 需求3 52
3.4.4 需求4 57
3.5 代碼覆蓋率 58
3.6 更多練習 59
3.7 小結 60
第4章 單元測試——專注於當下而非
過往 61
4.1 單元測試 61
4.1.1 何為單元測試 62
4.1.2 為何要進行單元測試 62
4.1.3 代碼重構 62
4.1.4 為何不只使用單元測試 63
4.2 TDD中的單元測試 64
4.3 TestNG 64
4.3.1 註解@Test 64
4.3.2 註解@BeforeSuite、@Be- foreTest、@BeforeGroups、 @After Groups、@AfterTest和@AfterSuite 65
4.3.3 註解@BeforeClass和@AfterClass 65
4.3.4 註解@BeforeMethod和@AfterMethod 66
4.3.5 註解參數@Test(enable = false) 66
4.3.6 註解參數@Test(expected- Exceptions = SomeClass. class) 66
4.3.7 TestNG和JUnit差別小結 66
4.4 “遙控軍艦”的需求 66
4.5 開發“遙控軍艦” 67
4.5.1 創建項目 67
4.5.2 輔助類 69
4.5.3 需求1 69
4.5.4 需求2 72
4.5.5 需求3 74
4.5.6 需求4 75
4.5.7 需求5 77
4.5.8 需求6 80
4.6 小結 81
第5章 設計——難以測試說明設計
不佳 82
5.1 為何要關心設計 82
5.2 Connect4 84
5.3 完成Connect4實現後再測試 85
5.3.1 需求1 85
5.3.2 需求2 86
5.3.3 需求3 87
5.3.4 需求4 88
5.3.5 需求5 89
5.3.6 需求6 89
5.3.7 需求7 90
5.3.8 需求8 91
5.4 使用TDD實現Connect4 92
5.4.1 Hamcrest 92
5.4.2 需求1 93
5.4.3 需求2 93
5.4.4 需求3 96
5.4.5 需求4 97
5.4.6 需求5 99
5.4.7 需求6 99
5.4.8 需求7 100
5.4.9 需求8 101
5.5 小結 103
第6章 模擬——消除外部依賴 104
6.1 模擬 104
6.1.1 為何使用模擬對象 105
6.1.2 術語 106
6.1.3 模擬對象 106
6.2 Mockito 107
6.3 “井字遊戲”第 二版的需求 107
6.4 開發“井字遊戲”第 二版 107
6.4.1 需求1 108
6.4.2 需求2 118
6.5 集成測試 124
6.5.1 分離測試 124
6.5.2 集成測試 125
6.6 小結 127
第7章 BDD——與整個團隊協作 128
7.1 不同規範 128
7.1.1 文檔 129
7.1.2 供程式設計師使用的文檔 129
7.1.3 供非程式設計師使用的文檔 130
7.2 行為驅動開發 130
7.2.1 敘述 131
7.2.2 場景 132
7.3 書店應用程式的BDD故事 133
7.4 JBehave 136
7.4.1 JBehave運行器 136
7.4.2 待定步驟 137
7.4.3 Selenium和Selenide 138
7.4.4 JBehave步驟 139
7.4.5 **後的驗證 144
7.5 小結 146
第8章 重構遺留代碼——使其重煥
青春 147
8.1 遺留代碼 147
8.2 編碼套路 156
8.2.1 遺留代碼處理套路 157
8.2.2 描述 157
8.2.3 技術說明 157
8.2.4 添加新功能 157
8.2.5 黑盒測試還是尖峰衝擊測試 157
8.2.6 初步調查 158
8.2.7 套用遺留代碼修改算法 161
8.2.8 提取並重寫調用 166
8.2.9 消除狀態的“基本類型偏執”壞味 170
8.3 小結 173
第9章 功能開關——將未完成的功能
部署到生成環境 175
9.1 持續集成、持續交付和持續部署 175
9.2 功能開關 177
9.3 功能開關示例 178
9.3.1 實現fibonacci服務 181
9.3.2 使用模版引擎 184
9.4 小結 187
第 10章 綜述 188
10.1 TDD概要 188
10.2 **佳實踐 189
10.2.1 命名約定 189
10.2.2 流程 191
10.2.3 開發實踐 192
10.2.4 工具 195
10.3 這只是開始 196
10.4 這並非終點 196

熱門詞條

聯絡我們