搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
构建高质量软件:持续集成与持续交付系统实践
0.00     定价 ¥ 99.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787111690207
  • 作      者:
    心蓝
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-09-01
收藏
荐购
编辑推荐

当下,越来越多的公司和团队在追求以最快的速度交付软件,从而应对灵活多变的业务场景需求。“快”的前提是高质量的交付,高质量的交付离不开一套稳健的持续环境。所谓持续并不是一直运行的意思,而是具备持续运行的能力。基于持续概念衍生出持续集成、持续交付、持续部署等工程实践,在每一个细分领域又诞生了琳琅满目的工具和工具组合。如何在如此之多的工具中挑选出合适的工具集来构建自己的持续环境?这正是本书所要解决的问题。只有真正理解了什么是持续集成、持续交付、持续部署,才能理解单元测试、功能测试,以及集成环境中每一个环节的作用和重要性。

本书结合理论和实践为读者讲解持续集成、持续部署环节不同工具的整合使用,以便读者能够快速搭建适合自己团队的持续构建环境。

本书的主要内容和特色:

●循序渐进  本书内容由浅入深,结合实际应用开发精准阐述如何基于测试驱动开发的方法论进行软件开发,能帮助读者系统化地对知识点进行梳理和归纳。

●内容丰富  不仅囊括了Hamcrest对象匹配库中各种匹配器的用法及其与JUnit的整合,还展示了众多工具和插件的使用方法,从而帮助开发者开发出高质量的代码。

●真实案例  书中所包含的案例都源于实践,通过案例重点解读了当下主流的单元测试mock工具(Mockito、Powermock)和功能测试框架(Cucumber、Concordion),读者在练习过程中会发现这些案例与日常工作十分切合。

●延展阅读  每章的最后都会给出拓展资料,方便读者在掌握本书知识的基础上进一步提升。


【在本店购书可免费获得“心蓝说Java”视频配套课程,关注“华章计算机”回复“69020”加入读者群,了解获取方式】

展开
作者简介

心蓝,某外资零售银行电子渠道高级开发总监、技术专家,有超过十年的系统设计、开发经验,对团队管理、项目管理有自己独到的见解。拥有多年移动网关通信研发,以及移动互联网开发与产品运营、云计算、B2C电子商务平台开发经验,热衷于技术分享,录制的20余套技术视频在互联网上广泛传播。所著图书包括《Java高并发编程详解:多线程与架构设计》《Java高并发编程详解:深入理解并发核心库》等。


展开
目录

【第一部分 提高软件的开发质量及开发效率】


第1章 单元测试与TDD3

1.1 单元测试的定义3

1.2 单元测试的好处5

1.3 单元测试的FIRST原则6

1.4 JUnit最佳实践10

1.5 测试驱动开发14

1.5.1 红–绿–重构15

1.5.2 TDD工作流程16

1.5.3 TDD实践17

1.6 本章总结26


第2章 Hamcrest:优雅强大的对象匹配器27

2.1 Hamcrest概述27

2.2 Hamcrest对象匹配器详解34

2.2.1 org.hamcrest.core34

2.2.2 org.hamcrest.beans37

2.2.3 org.hamcrest.collection38

2.2.4 org.hamcrest.number41

2.2.5 org.hamcrest.text42

2.2.6 org.hamcrest.xml43

2.3 自定义对象匹配器44

2.4 REST-Assured的使用47

2.5 本章总结51


第3章 Git及Git工作流程52

3.1 快速上手Git53

3.2 文件状态生命周期及Git中的对象56

3.2.1 文件状态生命周期56

3.2.2 Git中的对象59

3.3 Git与本地仓库64

3.3.1 add与commit命令64

3.3.2 log命令65

3.3.3 diff与blame命令65

3.3.4 Git的分支及操作66

3.3.5 stash命令69

3.3.6 reset命令70

3.3.7 标签的操作73

3.3.8 “.gitignore”文件的规则74

3.4 Git与远程仓库75

3.4.1 远程仓库的管理76

3.4.2 远程仓库的操作77

3.4.3 本地仓库与远程仓库的其他协同操作78

3.5 Git的配置和别名操作81

3.5.1 Git的基本配置81

3.5.2 Git的别名82

3.6 Git工作流程82

3.7 本章总结85


第4章 持续集成与持续交付86

4.1 什么是持续集成87

4.2 什么是持续交付89

4.3 什么是持续部署91

4.4 本章总结94


【第二部分 mock:构造测试对象的替身】


第5章 Mockito:热门的mock工具97

5.1 mock技术97

5.2 快速上手Mockito98

5.2.1 引入Mockito98

5.2.2 测试用户登录99

5.3 创建mock“替身”对象实例104

5.3.1 四种mock方式104

5.3.2 深度mock108

5.4 Stubbing语法详解111

5.4.1 when...thenReturn和doReturn...when语法111

5.4.2 doNothing...when语法112

5.4.3 when...thenThrow和doThrow...when语法115

5.4.4 when...thenAnswer和doAnswer...when语法117

5.4.5 多值返回的Stubbing语法117

5.4.6 级联风格的Stubbing语法118

5.4.7 when...thenCallRealMethod和doCallRealMethod...when语法119

5.5 Spying详解120

5.6 Argument对象匹配器详解123

5.6.1 Argument对象匹配器在Stubbing语法中的使用123

5.6.2 自定义Argument对象匹配器125

5.6.3 集成Hamcrest中的对象匹配器126

5.7 Mockito Verify与ArgumentsCaptor127

5.7.1 Mockito Verify操作127

5.7.2 VerificationMode详解130

5.7.3 ArgumentCaptor与@Captor132

5.8 InjectMocks134

5.9 Mockito对BDD风格的支持135

5.10 Mockito Inline136

5.11 本章总结138


第6章 Powermock详解140

6.1 快速入门Powermock141

6.1.1 为什么需要Powermock141

6.1.2 搭建Powermock环境141

6.1.3 Powermock入门143

6.2 Powermock如何通过mock操作局部变量145

6.3 Powermock如何通过mock操作静态方法148

6.4 Powermock如何通过mock操作final修饰的类151

6.5 Powermock如何通过mock操作私有方法152

6.6 Powermock中的Spying154

6.7 Powermock与JaCoCo155

6.8 本章总结160


【第三部分 行为驱动开发】


第7章 Concordion:测试即文档163

7.1 Concordion的开发流程164

7.2 搭建Concordion环境174

7.2.1 搭建Concordion基础环境174

7.2.2 Concordion与Maven进行集成176

7.3 Concordion的指令详解178

7.4 在Specification文档中处理Java返回的结果183

7.4.1 简单的数据类型183

7.4.2 复杂的数据类型188

7.5 table和list中的指令191

7.5.1 使用table标签批量执行测试用例191

7.5.2 使用list标签批量执行测试用例193

7.6 拾遗补漏194

7.7 本章总结196


第8章 Cucumber:热门的行为驱动开发工具197

8.1 Cucumber简介198

8.1.1 快速上手Cucumber199

8.1.2 Cucumber与IntelliJ IDEA集成204

8.1.3 Cucumber的执行流程207

8.2 Feature文档的语法基础:Gherkin208

8.2.1 什么是Gherkin209

8.2.2 Gherkin语法基础209

8.2.3 Gherkin中的注释212

8.2.4 Gherkin对其他语系的支持213

8.3 Step Definitions详解214

8.3.1 步骤的匹配215

8.3.2 通过正则表达式捕获参数217

8.3.3 通过Cucumber表达式捕获参数220

8.3.4 使用Java 8 Lambda表达式定义步骤方法223

8.3.5 Step Definitions的常见问题225

8.3.6 Cucumber中Step的执行过程227

8.4 Cucumber进阶228

8.4.1 Background关键字228

8.4.2 Data Table229

8.4.3 Scenario Outline关键字233

8.4.4 Doc String 235

8.4.5 Tagging & Hooks236

8.5 CucumberOptions239

8.6 Cucumber整合Selenium进行Web自动化测试241

8.7 Cucumber功能测试报告246

8.8 本章总结248


【第四部分 遇见Jenkins】


第9章 Jenkins的基础知识253

9.1 Jenkins的安装及快速构建Job253

9.1.1 Jenkins的安装253

9.1.2 Jenkins Job的快速构建258

9.2 配置Jenkins261

9.2.1 Jenkins的基本配置261

9.2.2 为Jenkins配置集群节点264

9.2.3 Jenkins插件管理268

9.2.4 基于Role Strategy配置权限270

9.2.5 构建Maven项目类型的Job272

9.3 Jenkins参数化及可视化构建274

9.3.1 参数化构建275

9.3.2 可视化构建280

9.4 Jenkins构建Pipeline Job282

9.4.1 Groovy Pipeline Script282

9.4.2 Jenkinsfile285

9.4.3 Blue Ocean286

9.5 本章总结288


第10章 基于Jenkins构建持续集成与持续交付290

10.1 Spring Boot开发RESTful应用291

10.1.1 搭建Spring Boot环境291

10.1.2 代码检查与分析295

10.1.3 基于测试驱动开发完成应用程序开发303

10.1.4 使用Cucumber开发自动化功能测试程序311

10.2 Nexus私服317

10.2.1 搭建Nexus私服318

10.2.2 私服仓库配置319

10.3 RedHat Ansible326

10.3.1 Ansible的安装326

10.3.2 Ad-hoc及Playbook简介330

10.3.3 Ansible模板引擎jinjia2333

10.3.4 通过Playbook逐步完成软件自动化部署335

10.4 创建Jenkins Pipeline343

10.4.1 创建CI/CD Jenkins Pipeline Job343

10.4.2 GitHub WebHook自动触发Jenkins Job348

10.5 本章总结351


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录