当下,越来越多的公司和团队在追求以快的速度交付软件,从而应对灵活多变的业务场景需求。“快”的前提是高质量的交付,高质量的交付离不一套稳健的持续环境。所谓持续并不是一直运行的意思,而是具备持续运行的能力。基于持续概念衍生出持续集成、持续交付、持续部署等工程实践,在每一个细分领域又诞生了琳琅满目的工具和工具组合。如何在如此之多的工具中挑选出合适的工具集来构建自己的持续环境?这正是本书所要解决的问题。只有真正理解了什么是持续集成、持续交付、持续部署,才能理解单元测试、功能测试,以及集成环境中每一个环节的作用和重要性。
售 价:¥
纸质售价:¥69.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权页
前言
第一部分 提高软件的开发质量及开发效率
第1章 单元测试与TDD
1.1 单元测试的定义
1.2 单元测试的好处
1.3 单元测试的FIRST原则
1.4 JUnit最佳实践
1.5 测试驱动开发
1.5.1 红–绿–重构
1.5.2 TDD工作流程
1.5.3 TDD实践
1.6 本章总结
第2章 Hamcrest:优雅强大的对象匹配器
2.1 Hamcrest概述
2.2 Hamcrest对象匹配器详解
2.2.1 org.hamcrest.core
2.2.2 org.hamcrest.beans
2.2.3 org.hamcrest.collection
2.2.4 org.hamcrest.number
2.2.5 org.hamcrest.text
2.2.6 org.hamcrest.xml
2.3 自定义对象匹配器
2.4 REST-Assured的使用
2.5 本章总结
第3章 Git及Git工作流程
3.1 快速上手Git
3.2 文件状态生命周期及Git中的对象
3.2.1 文件状态生命周期
3.2.2 Git中的对象
3.3 Git与本地仓库
3.3.1 add与commit命令
3.3.2 log命令
3.3.3 diff与blame命令
3.3.4 Git的分支及操作
3.3.5 stash命令
3.3.6 reset命令
3.3.7 标签的操作
3.3.8 “.gitignore”文件的规则
3.4 Git与远程仓库
3.4.1 远程仓库的管理
3.4.2 远程仓库的操作
3.4.3 本地仓库与远程仓库的其他协同操作
3.5 Git的配置和别名操作
3.5.1 Git的基本配置
3.5.2 Git的别名
3.6 Git工作流程
3.7 本章总结
第4章 持续集成与持续交付
4.1 什么是持续集成
4.2 什么是持续交付
4.3 什么是持续部署
4.4 本章总结
第二部分 mock:构造测试对象的替身
第5章 Mockito:热门的mock工具
5.1 mock技术
5.2 快速上手Mockito
5.2.1 引入Mockito
5.2.2 测试用户登录
5.3 创建mock“替身”对象实例
5.3.1 四种mock方式
5.3.2 深度mock
5.4 Stubbing语法详解
5.4.1 when...thenReturn和doReturn...when语法
5.4.2 doNothing...when语法
5.4.3 when...thenThrow和doThrow...when语法
5.4.4 when...thenAnswer和doAnswer...when语法
5.4.5 多值返回的Stubbing语法
5.4.6 级联风格的Stubbing语法
5.4.7 when...thenCallRealMethod和doCallRealMethod...when语法
5.5 Spying详解
5.6 Argument对象匹配器详解
5.6.1 Argument对象匹配器在Stubbing语法中的使用
5.6.2 自定义Argument对象匹配器
5.6.3 集成Hamcrest中的对象匹配器
5.7 Mockito Verify与Arguments Captor
5.7.1 Mockito Verify操作
5.7.2 VerificationMode详解
5.7.3 ArgumentCaptor与@Captor
5.8 InjectMocks
5.9 Mockito对BDD风格的支持
5.10 Mockito Inline
5.11 本章总结
第6章 Powermock详解
6.1 快速入门Powermock
6.1.1 为什么需要Powermock
6.1.2 搭建Powermock环境
6.1.3 Powermock入门
6.2 Powermock如何通过mock操作局部变量
6.3 Powermock如何通过mock操作静态方法
6.4 Powermock如何通过mock操作final修饰的类
6.5 Powermock如何通过mock操作私有方法
6.6 Powermock中的Spying
6.7 Powermock与JaCoCo
6.8 本章总结
第三部分 行为驱动开发
第7章 Concordion:测试即文档
7.1 Concordion的开发流程
7.2 搭建Concordion环境
7.2.1 搭建Concordion基础环境
7.2.2 Concordion与Maven进行集成
7.3 Concordion的指令详解
7.4 在Specification文档中处理Java返回的结果
7.4.1 简单的数据类型
7.4.2 复杂的数据类型
7.5 table和list中的指令
7.5.1 使用table标签批量执行测试用例
7.5.2 使用list标签批量执行测试用例
7.6 拾遗补漏
7.7 本章总结
第8章 Cucumber:热门的行为驱动开发工具
8.1 Cucumber简介
8.1.1 快速上手Cucumber
8.1.2 Cucumber与IntelliJ IDEA集成
8.1.3 Cucumber的执行流程
8.2 Feature文档的语法基础:Gherkin
8.2.1 什么是Gherkin
8.2.2 Gherkin语法基础
8.2.3 Gherkin中的注释
8.2.4 Gherkin对其他语系的支持
8.3 Step Definitions详解
8.3.1 步骤的匹配
8.3.2 通过正则表达式捕获参数
8.3.3 通过Cucumber表达式捕获参数
8.3.4 使用Java 8 Lambda表达式定义步骤方法
8.3.5 Step Definitions的常见问题
8.3.6 Cucumber中Step的执行过程
8.4 Cucumber进阶
8.4.1 Background关键字
8.4.2 Data Table
8.4.3 Scenario Outline关键字
8.4.4 Doc String
8.4.5 Tagging & Hooks
8.5 CucumberOptions
8.6 Cucumber整合Selenium进行Web自动化测试
8.7 Cucumber功能测试报告
8.8 本章总结
第四部分 遇见Jenkins
第9章 Jenkins的基础知识
9.1 Jenkins的安装及快速构建Job
9.1.1 Jenkins的安装
9.1.2 Jenkins Job的快速构建
9.2 配置Jenkins
9.2.1 Jenkins的基本配置
9.2.2 为Jenkins配置集群节点
9.2.3 Jenkins插件管理
9.2.4 基于Role Strategy配置权限
9.2.5 构建Maven项目类型的Job
9.3 Jenkins参数化及可视化构建
9.3.1 参数化构建
9.3.2 可视化构建
9.4 Jenkins构建Pipeline Job
9.4.1 Groovy Pipeline Script
9.4.2 Jenkinsfile
9.4.3 Blue Ocean
9.5 本章总结
第10章 基于Jenkins构建持续集成与持续交付
10.1 Spring Boot开发RESTful应用
10.1.1 搭建Spring Boot环境
10.1.2 代码检查与分析
10.1.3 基于测试驱动开发完成应用程序开发
10.1.4 使用Cucumber开发自动化功能测试程序
10.2 Nexus私服
10.2.1 搭建Nexus私服
10.2.2 私服仓库配置
10.3 RedHat Ansible
10.3.1 Ansible的安装
10.3.2 Ad-hoc及Playbook简介
10.3.3 Ansible模板引擎jinjia2
10.3.4 通过Playbook逐步完成软件自动化部署
10.4 创建Jenkins Pipeline
10.4.1 创建CI/CD Jenkins Pipeline Job
10.4.2 GitHub WebHook自动触发Jenkins Job
10.5 本章总结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜