中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

包郵 JUnit實(shí)戰(zhàn)(第3版)

出版社:人民郵電出版社出版時(shí)間:2023-06-01
開本: 16開 頁數(shù): 496
¥62.1(4.4折)?

預(yù)估到手價(jià)是按參與促銷活動(dòng)、以最優(yōu)惠的購(gòu)買方案計(jì)算出的價(jià)格(不含優(yōu)惠券部分),僅供參考,未必等同于實(shí)際到手價(jià)。

中 圖 價(jià):¥103.5(7.4折)定價(jià)  ¥139.8 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
開年大促, 全場(chǎng)包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個(gè)別圖書品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說明>>
本類五星書更多>

JUnit實(shí)戰(zhàn)(第3版) 版權(quán)信息

JUnit實(shí)戰(zhàn)(第3版) 本書特色

1.JUnit 5實(shí)戰(zhàn)類圖書。涵蓋從JUnit 4向JUnit 5遷移、軟件測(cè)試原則等內(nèi)容,讓讀者深入了解JUnit框架。

2.細(xì)致講解Java開發(fā)人員進(jìn)行單元測(cè)試和集成測(cè)試的實(shí)用框架,有效測(cè)試自動(dòng)化、測(cè)試驅(qū)動(dòng)開發(fā)和行為驅(qū)動(dòng)開發(fā)。

4.大量真實(shí)世界中的應(yīng)用程序案例,包括Spring、Spring Boot 以及 REST API 測(cè)試,更好地掌握如何在實(shí)際項(xiàng)目中使用JUnit進(jìn)行測(cè)試。

5.將 JUnit 5 與 Maven/Gradle 結(jié)合起來使用,提供大量實(shí)用的建議和技巧,幫助讀者在項(xiàng)目中快速而有效地使用JUnit框架。

JUnit實(shí)戰(zhàn)(第3版) 內(nèi)容簡(jiǎn)介

本書全面介紹JUnit 5的新特性及其主要應(yīng)用。全書共22章,分為五部分。**部分介紹JUnit 的核心、JUnit的體系結(jié)構(gòu)、從JUnit 4向JUnit 5遷移、軟件測(cè)試原則等內(nèi)容;第二部分介紹軟件測(cè)試質(zhì)量、用stub和mock object進(jìn)行測(cè)試、容器內(nèi)測(cè)試等內(nèi)容;第三部分介紹用Maven和Gradle工具運(yùn)行JUnit測(cè)試、IDE對(duì)JUnit 5的支持、JUnit 5的持續(xù)集成等內(nèi)容;第四部分介紹JUnit 5擴(kuò)展模型,表示層測(cè)試,Spring、Spring Boot和REST API以及數(shù)據(jù)庫(kù)應(yīng)用程序的測(cè)試等內(nèi)容;第五部分介紹使用JUnit 5進(jìn)行測(cè)試驅(qū)動(dòng)開發(fā)和行為驅(qū)動(dòng)開發(fā),以及用JUnit 5實(shí)現(xiàn)測(cè)試金字塔策略等內(nèi)容。 本書既適合剛接觸JUnit框架的Java開發(fā)人員閱讀,也適合想要了解JUnit 5新特性的、經(jīng)驗(yàn)豐富的JUnit開發(fā)人員學(xué)習(xí),尤其適合企業(yè)級(jí)Java開發(fā)人員閱讀。本書還可作為高等院校學(xué)生“軟件測(cè)試”課程的參考用書。

JUnit實(shí)戰(zhàn)(第3版) 目錄

第 一部分 JUnit



第 1章 JUnit起步 3

1.1 證明程序的可運(yùn)行性 4

1.2 從零開始 5

1.2.1 單元測(cè)試框架的規(guī)則 8

1.2.2 添加單元測(cè)試 8

1.3 安裝JUnit 9

1.4 使用JUnit測(cè)試 11

1.5 小結(jié) 13

第 2章 探索JUnit的核心 14

2.1 核心注解 15

2.1.1 @DisplayName注解 17

2.1.2 @Disabled注解 18

2.2 嵌套測(cè)試 20

2.3 標(biāo)記測(cè)試 21

2.4 斷言 22

2.5 假設(shè) 26

2.6 JUnit 5的依賴注入 28

2.6.1 TestInfoParameterResolver 28

2.6.2 TestReporterParameterResolver 29

2.6.3 RepetitionInfoParameterResolver 30

2.7 重復(fù)測(cè)試 30

2.8 參數(shù)化測(cè)試 32

2.9 動(dòng)態(tài)測(cè)試 35

2.10 使用Hamcrest 匹配器 37

2.11 小結(jié) 41

第3章 JUnit的體系結(jié)構(gòu) 42

3.1 軟件體系結(jié)構(gòu)的概念和重要性 42

3.1.1 故事一:電話簿 43

3.1.2 故事二:運(yùn)動(dòng)鞋制造商 43

3.2 JUnit 4的體系結(jié)構(gòu) 44

3.2.1 JUnit 4模塊化 44

3.2.2 JUnit 4運(yùn)行器 45

3.2.3 JUnit 4規(guī)則 47

3.2.4 JUnit 4體系結(jié)構(gòu)的缺點(diǎn) 52

3.3 JUnit 5的體系結(jié)構(gòu) 52

3.3.1 JUnit 5模塊化 52

3.3.2 JUnit Platform 53

3.3.3 JUnit Jupiter 53

3.3.4 JUnit Vintage 54

3.3.5 JUnit 5體系結(jié)構(gòu)的全景 54

3.4 小結(jié) 56



第4章 從JUnit 4向JUnit 5遷移 57

4.1 從JUnit 4向JUnit 5跨越 57

4.2 所需的依賴項(xiàng) 58

4.3 注解、類和方法 60

4.3.1 等價(jià)的注解、類和方法 60

4.3.2 分類和標(biāo)記 64

4.3.3 遷移Hamcrest匹配器功能 69

4.3.4 規(guī)則與擴(kuò)展模型 71

4.3.5 自定義規(guī)則 74

4.4 小結(jié) 78

第5章 軟件測(cè)試原則 79

5.1 單元測(cè)試的必要性 79

5.1.1 帶來更高的測(cè)試覆蓋率 80

5.1.2 提高團(tuán)隊(duì)的工作效率 80

5.1.3 檢測(cè)出衰退跡象和減少調(diào)試次數(shù) 80

5.1.4 自信地重構(gòu) 80

5.1.5 改進(jìn)實(shí)現(xiàn) 82

5.1.6 文檔化預(yù)期行為 82

5.1.7 啟用代碼覆蓋率和其他指標(biāo) 83

5.2 測(cè)試類型 83

5.2.1 單元測(cè)試 84

5.2.2 集成測(cè)試 84

5.2.3 系統(tǒng)測(cè)試 85

5.2.4 驗(yàn)收測(cè)試 85

5.3 黑盒測(cè)試和白盒測(cè)試的對(duì)比 86

5.3.1 黑盒測(cè)試 86

5.3.2 白盒測(cè)試 86

5.3.3 黑盒測(cè)試和白盒測(cè)試的優(yōu)點(diǎn)和缺點(diǎn) 87

5.4 小結(jié) 88



第二部分 不同的測(cè)試策略





第6章 測(cè)試質(zhì)量 91

6.1 測(cè)試覆蓋率度量 91

6.1.1 測(cè)試覆蓋率簡(jiǎn)介 92

6.1.2 代碼覆蓋率度量工具 93

6.2 編寫易于測(cè)試的代碼 96

6.2.1 理解公共API契約 97

6.2.2 減少依賴 97

6.2.3 創(chuàng)建簡(jiǎn)單的構(gòu)造方法 98

6.2.4 遵循迪米特法則 99

6.2.5 避開隱藏的依賴項(xiàng)和全局狀態(tài) 100

6.2.6 優(yōu)先使用泛型方法 101

6.2.7 組合優(yōu)于繼承 102

6.2.8 多態(tài)優(yōu)于條件 102

6.3 測(cè)試驅(qū)動(dòng)開發(fā) 104

6.3.1 調(diào)整開發(fā)周期 104

6.3.2 TDD的兩個(gè)核心步驟 105

6.4 行為驅(qū)動(dòng)開發(fā) 106

6.5 突變測(cè)試 106

6.6 開發(fā)周期中的測(cè)試 107

6.7 小結(jié) 110

第7章 用stub進(jìn)行粗粒度測(cè)試 111

7.1 stub簡(jiǎn)介 112

7.2 用stub測(cè)試一個(gè)HTTP連接 113

7.2.1 選擇stub的使用方案 115

7.2.2 用Jetty充當(dāng)嵌入式服務(wù)器 115

7.3 用stub替換服務(wù)器資源 117

7.3.1 構(gòu)建第 一個(gè)stub測(cè)試 117

7.3.2 回顧第 一個(gè)stub測(cè)試 120

7.4 替換連接 120

7.4.1 創(chuàng)建自定義的URL協(xié)議處理器 121

7.4.2 創(chuàng)建一個(gè)JDK的HttpURLConnection stub 122

7.4.3 運(yùn)行測(cè)試 123

7.5 小結(jié) 124

第8章 用mock object進(jìn)行測(cè)試 125

8.1 mock object簡(jiǎn)介 125

8.2 用mock object進(jìn)行單元測(cè)試 126

8.3 用mock object進(jìn)行重構(gòu) 129

8.3.1 重構(gòu)示例 130

8.3.2 重構(gòu)方面的考慮 131

8.4 模擬HTTP連接 133

8.4.1 mock object的定義 133

8.4.2 示例方法的測(cè)試 134

8.4.3 第 一個(gè)嘗試:簡(jiǎn)單的方法重構(gòu)技巧 135

8.4.4 第二個(gè)嘗試:使用類工廠進(jìn)行重構(gòu) 137

8.5 把mocks用作特洛伊木馬 139

8.6 mock框架簡(jiǎn)介 141

8.6.1 使用EasyMock 142

8.6.2 使用JMock 146

8.6.3 使用Mockito 150

8.7 小結(jié) 153

第9章 容器內(nèi)測(cè)試 154

9.1 標(biāo)準(zhǔn)單元測(cè)試的局限性 154

9.2 mock object解決方法 155

9.3 容器內(nèi)測(cè)試的步驟 157

9.3.1 實(shí)現(xiàn)策略 157

9.3.2 容器內(nèi)測(cè)試框架 158

9.4 stub、mock object和容器內(nèi)測(cè)試的對(duì)比 158

9.4.1 對(duì)stub的評(píng)價(jià) 159

9.4.2 對(duì)mock object的評(píng)價(jià) 159

9.4.3 對(duì)容器內(nèi)測(cè)試的評(píng)價(jià) 160

9.5 用Arquillian進(jìn)行測(cè)試 161

9.6 小結(jié) 168



第三部分 運(yùn)用JUnit 5及其他工具





第 10章 在Maven 3中運(yùn)行JUnit測(cè)試 171

10.1 建立Maven項(xiàng)目 171

10.2 使用Maven插件 174

10.2.1 Maven的Compiler插件 175

10.2.2 Maven的Surefire插件 176

10.2.3 用Maven生成HTML格式的JUnit報(bào)告 178

10.3 集成所有 178

10.4 Maven的挑戰(zhàn)性 183

10.5 小結(jié) 183

第 11章 在Gradle 6中運(yùn)行JUnit測(cè)試 184

11.1 Gradle簡(jiǎn)介 184

11.2 創(chuàng)建Gradle項(xiàng)目 186

11.3 使用Gradle插件 190

11.4 從頭開始創(chuàng)建Gradle項(xiàng)目,再用JUnit 5測(cè)試 190

11.5 比較Gradle和Maven 194

11.6 小結(jié) 195

第 12章 IDE對(duì)JUnit 5的支持 196

12.1 JUnit 5與IntelliJ IDEA集成 197

12.2 JUnit 5與Eclipse集成 202

12.3 JUnit 5與NetBeans集成 206

12.4 JUnit 5與IntelliJ IDEA、Eclipse和NetBeans集成的比較 211

12.5 小結(jié) 211

第 13章 JUnit 5的持續(xù)集成 212

13.1 持續(xù)集成測(cè)試 212

13.2 Jenkins簡(jiǎn)介 214

13.3 團(tuán)隊(duì)實(shí)踐持續(xù)集成 217

13.4 配置Jenkins 222

13.5 在CI環(huán)境中處理任務(wù) 225

13.6 小結(jié) 230



第四部分 使用現(xiàn)代框架和JUnit 5





第 14章 JUnit 5擴(kuò)展模型 233

14.1 JUnit 5擴(kuò)展模型簡(jiǎn)介 233

14.2 創(chuàng)建JUnit 5擴(kuò)展 234

14.3 使用可用的擴(kuò)展點(diǎn)編寫JUnit 5測(cè)試 237

14.3.1 將乘客信息持久化到數(shù)據(jù)庫(kù)中 237

14.3.2 檢查乘客的性 246

14.4 小結(jié) 248

第 15章 表示層測(cè)試 249

15.1 選擇測(cè)試框架 250

15.2 HtmlUnit簡(jiǎn)介 250

15.3 編寫HtmlUnit測(cè)試 252

15.3.1 HTML斷言 252

15.3.2 對(duì)特定的Web瀏覽器進(jìn)行測(cè)試 252

15.3.3 對(duì)多個(gè)Web瀏覽器進(jìn)行測(cè)試 253

15.3.4 創(chuàng)建獨(dú)立的測(cè)試 254

15.3.5 測(cè)試表單 256

15.3.6 測(cè)試JavaScript 257

15.4 Selenium簡(jiǎn)介 261

15.5 編寫Selenium測(cè)試 262

15.5.1 對(duì)特定的Web瀏覽器進(jìn)行測(cè)試 264

15.5.2 使用Web瀏覽器測(cè)試導(dǎo)航 265

15.5.3 測(cè)試多個(gè)Web瀏覽器 266

15.5.4 用不同的Web瀏覽器測(cè)試Google搜索和導(dǎo)航 268

15.5.5 測(cè)試網(wǎng)站的身份驗(yàn)證 270

15.6 HtmlUnit與Selenium的對(duì)比 275

15.7 小結(jié) 275

第 16章 Spring應(yīng)用程序測(cè)試 277

16.1 Spring框架簡(jiǎn)介 277

16.2 依賴注入簡(jiǎn)介 278

16.3 構(gòu)建和測(cè)試Spring應(yīng)用程序 283

16.3.1 以編程方式創(chuàng)建Spring上下文 283

16.3.2 使用Spring TestContext框架 286

16.4 為JUnit Jupiter使用SpringExtension 288

16.5 添加新特性并使用JUnit 5測(cè)試 290

16.6 小結(jié) 296

第 17章 Spring Boot應(yīng)用程序測(cè)試 297

17.1 Spring Boot簡(jiǎn)介 297

17.2 用Spring Initializr創(chuàng)建項(xiàng)目 298

17.3 將Spring應(yīng)用遷移到Spring Boot中 300

17.4 為Spring Boot實(shí)現(xiàn)特定測(cè)試的配置 303

17.5 在Spring Boot應(yīng)用中添加和測(cè)試新特性 305

17.6 小結(jié) 309

第 18章 REST API測(cè)試 311

18.1 REST應(yīng)用程序簡(jiǎn)介 311

18.2 創(chuàng)建RESTful API來管理實(shí)體 312

18.3 創(chuàng)建RESTful API來管理兩個(gè)相關(guān)實(shí)體 319

18.4 測(cè)試RESTful API 326

18.5 小結(jié) 330

第 19章 數(shù)據(jù)庫(kù)應(yīng)用程序測(cè)試 331

19.1 數(shù)據(jù)庫(kù)單元測(cè)試阻抗不匹配 331

19.1.1 單元測(cè)試必須運(yùn)行獨(dú)立的代碼 332

19.1.2 單元測(cè)試必須易于編寫和運(yùn)行 332

19.1.3 單元測(cè)試必須快速運(yùn)行 333

19.2 測(cè)試JDBC應(yīng)用程序 333

19.3 測(cè)試Spring JDBC應(yīng)用程序 342

19.4 測(cè)試Hibernate應(yīng)用程序 349

19.5 測(cè)試Spring Hibernate應(yīng)用程序 354

19.6 測(cè)試數(shù)據(jù)庫(kù)應(yīng)用程序的方法比較 360

19.7 小結(jié) 361



第五部分 用JUnit 5開發(fā)應(yīng)用程序





第 20章 用JUnit 5進(jìn)行測(cè)試驅(qū)動(dòng)開發(fā) 365

20.1 TDD的主要概念 365

20.2 航班管理應(yīng)用程序 366

20.3 將航班管理應(yīng)用程序遷移到TDD 371

20.4 重構(gòu)航班管理應(yīng)用程序 375

20.5 使用TDD引入新特性 379

20.5.1 增加一種高級(jí)航班 379

20.5.2 同一名乘客只能添加一次 387

20.6 小結(jié) 390

第 21章 使用JUnit 5進(jìn)行行為驅(qū)動(dòng)開發(fā) 391

21.1 行為驅(qū)動(dòng)開發(fā)簡(jiǎn)介 391

21.1.1 一種新特性的引入 392

21.1.2 從需求分析到驗(yàn)收標(biāo)準(zhǔn) 392

21.1.3 BDD的優(yōu)點(diǎn)和挑戰(zhàn)性 393

21.2 使用Cucumber和JUnit 5操作BDD風(fēng)格 394

21.2.1 Cucumber簡(jiǎn)介 395

21.2.2 將TDD特性遷移到Cucumber中 396

21.2.3 使用Cucumber增加一個(gè)新功能 403

21.3 使用JBehave和JUnit 5操作BDD風(fēng)格 410

21.3.1 JBehave簡(jiǎn)介 410

21.3.2 將TDD特性遷移到JBehave中 410

21.3.3 使用JBehave增加一個(gè)新功能 416

21.4 Cucumber與Jbehave的比較 423

21.5 小結(jié) 423

第 22章 用JUnit 5實(shí)現(xiàn)測(cè)試金字塔策略 424

22.1 軟件測(cè)試的層次 424

22.2 單元測(cè)試:隔離運(yùn)行的基本組件 425

22.3 集成測(cè)試:?jiǎn)卧M合 435

22.4 系統(tǒng)測(cè)試:考查完整的 軟件 442

22.4.1 使用模擬的外部依賴項(xiàng)進(jìn)行測(cè)試 443

22.4.2 使用部分實(shí)現(xiàn)的外部依賴項(xiàng)進(jìn)行測(cè)試 447

22.4.3 使用完全實(shí)現(xiàn)的外部依賴項(xiàng)進(jìn)行測(cè)試 449

22.5 驗(yàn)收測(cè)試:軟件滿足業(yè)務(wù)需求 452

22.6 小結(jié) 461

附錄A  Maven 462

A.1 約定優(yōu)于配置 462

A.2 強(qiáng)依賴管理 462

A.3 Maven的構(gòu)建生命周期 463

A.4 基于插件的體系結(jié)構(gòu) 465

A.5 Maven的項(xiàng)目對(duì)象模型 466

A.6 安裝Maven 467

附錄B  Gradle 468

B.1 安裝Gradle 468

B.2 創(chuàng)建Gradle任務(wù) 470

附錄C  IDE 473

C.1 安裝IntelliJ IDEA 473

C.2 安裝Eclipse 474

C.3 安裝NetBeans 475

附錄D  Jenkins 476



展開全部

JUnit實(shí)戰(zhàn)(第3版) 作者簡(jiǎn)介

克特林·圖多塞(Catalin Tudose),擁有計(jì)算機(jī)科學(xué)專業(yè)的博士學(xué)位,擔(dān)任過 Java 高級(jí)開發(fā)員和技術(shù)團(tuán)隊(duì)帶頭人,有超過 15年的 Java 開發(fā)經(jīng)驗(yàn)。

商品評(píng)論(0條)
暫無評(píng)論……
書友推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 菏泽知彼网络科技有限公司| 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 厂房出租_厂房出售_产业园区招商_工业地产 - 中工招商网 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | HDPE储罐_厂家-山东九州阿丽贝防腐设备| 标准品网_标准品信息网_【中检计量】| 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 希望影视-高清影视vip热播电影电视剧免费在线抢先看 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 我爱古诗词_古诗词名句赏析学习平台 | 非甲烷总烃分析仪|环控百科|