搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
构建高质量软件(持续集成与持续交付系统实践)
0.00     定价 ¥ 99.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111690207
  • 作      者:
    作者:心蓝|责编:杨绣国
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-09-01
收藏
畅销推荐
内容介绍
随着DevOps的火热,快速发布与交付软件甚至随时发布与交付已经成为度量软件执行力的重要指标。但是,快速发布与交付的前提是软件足够健壮,开发人员开发的每一行代码均可测试,可快速进行错误重现、定位并解决问题,且能以较低的成本进行回归测试。这是一本从开发人员视角来介绍如何交付高质量软件产品的书,书中采用理论与实践相结合的方式讲述了持续集成、持续交付、持续部署三大开发实践的生命周期,以及它们彼此的关系,里面包含丰富的实战案例、各类工具的使用技巧。 全书共10章,分为四大部分。 第一部分(第1~4章)主要围绕如何提高软件的开发质量和效率展开,详细讲述了单元测试的常用工具和最佳实践,并展开阐述了持续集成、持续交付、持续部署等概念。 第二部分(第5~6章)详细讲解了两个常用的mock工具——Mockito和Powermock,通过实例详尽地讲解了它们的语法规则和使用场景,目的是让开发者在不修改软件源代码和程序结构的前提下尽可能确保软件具备可测试性。 第三部分(第7~8章)详细讲述了两个行为驱动开发工具(功能测试)Concordion和Cucumber,这两个工具可以帮助我们很好地完成功能测试、验收测试、回归测试等工作。 第四部分(第9~10章)综合前面三部分的知识点,并引入代码风格检查、静态代码分析、第三方依赖安全性检查、企业内部私服的原理和搭建、Ansible自动化软件部署工具、Jenkins Pipeline等知识,帮助读者构建完整的CI/CD流程。
展开
目录
第一部分 提高软件的开发质量及开发效率
第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 Ba
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证