目 录
第Ⅰ部分 起 步
第1章 测试微服务 3
1.1 微服务刷新器 4
1.1.1 微服务路径 5
1.1.2 微服务和组织结构 7
1.2 端到端测试的问题 9
1.3 了解服务虚拟化 10
1.3.1 使用API逐个设置测试 12
1.3.2 使用持久数据存储 12
1.3.3 记录和重放 13
1.4 mountebank介绍 14
1.5 服务虚拟化工具生态系统 18
1.6 本章小结 19
第2章 体验mountebank 21
2.1 设置示例 22
2.2 HTTP和mountebank:入门 23
2.3 虚拟化产品目录服务 26
2.4 个测试 31
2.5 本章小结 38
第Ⅱ部分 使用mountebank
第3章 使用屏蔽响应进行测试 43
3.1 屏蔽响应的基础 44
3.1.1 默认响应 45
3.1.2 了解默认响应的工作方式 48
3.1.3 更改默认响应 49
3.1.4 循环响应 50
3.2 HTTPS imposter 52
3.2.1 设置可信的HTTPS imposter 55
3.2.2 使用相互身份验证 57
3.3 在配置文件中保存响应 58
3.4 本章小结 62
第4章 使用谓词发送不同的响应 65
4.1 谓词基础 66
4.1.1 谓词的类型 68
4.1.2 匹配对象请求字段 73
4.1.3 deepEquals谓词 74
4.1.4 匹配多值字段 75
4.1.5 exists谓词 77
4.1.6 连接点 78
4.1.7 谓词类型的完整列表 79
4.2 参数化谓词 80
4.3 在JSON值中使用谓词 80
4.3.1 使用直接JSON谓词 81
4.3.2 使用JSONPath选择 JSON值 81
4.4 选择XML值 83
4.5 本章小结 86
第5章 添加记录/重放行为 87
5.1 设置代理 87
5.2 生成正确的谓词 91
5.2.1 使用predicateGenerators创建谓词 91
5.2.2 添加谓词参数 93
5.3 为同一请求捕获多个响应 96
5.4 重放代理的方法 100
5.5 配置代理 101
5.5.1 使用相互身份验证 102
5.5.2 添加自定义标题 103
5.6 代理用例 104
5.6.1 使用代理作为回退 104
5.6.2 将HTTPS转换为HTTP 106
5.7 本章小结 107
第6章 mountebank编程 109
6.1 创建自己的谓词 110
6.2 创建自己的动态响应 115
6.2.1 添加状态 116
6.2.2 添加异步 118
6.2.3 确定响应与谓词注入之间的关系 127
6.3 注意:安全很重要 127
6.4 调试提示 128
6.5 本章小结 129
第7章 添加行为 131
7.1 理解行为 131
7.2 修饰一个响应 132
7.2.1 使用decorate函数 133
7.2.2 为保存的代理响应添加修饰 134
7.2.3 通过shellTransform添加中间件 137
7.3 为响应添加延迟 139
7.4 多次重复响应 140
7.5 替换响应中的内容 141
7.5.1 将请求数据复制到响应 141
7.5.2 从外部数据源查找数据 148
7.6 完整的行为列表 152
7.7 本章小结 152
第8章 协议 153
8.1 协议在mountebank中的工作方式 154
8.2 TCP入门 155
8.3 存根基于文本的TCP RPC 156
8.3.1 创建基本的TCPimposter 157
8.3.2 创建TCP代理 159
8.3.3 匹配和操作XML载荷 160
8.4 二进制支持 161
8.4.1 使用二进制模式进行Base64编码 162
8.4.2 在二进制模式下使用谓词 163
8.5 虚拟化.NET远程服务 164
8.5.1 创建简单的.NET Remoting客户端 164
8.5.2 虚拟化.NET Remoting服务器 167
8.5.3 如何告诉mountebank消息结束的位置 171
8.6 本章小结 175
第Ⅲ部分 关 闭 循 环
第9章 微服务的安全 179
9.1 一个持续的交付刷新器 179
9.1.1 基于微服务的CD测试策略 181
9.1.2 将测试策略映射到部署管道 183
9.2 创建测试管道 184
9.2.1 创建单元测试 186
9.2.2 创建服务测试 189
9.2.3 平衡服务虚拟化与合约测试 193
9.2.4 探索性测试 196
9.3 本章小结 198
第10章 mountebank性能测试 199
10.1 为什么服务虚拟化支持性能测试 200
10.2 定义你的场景 202
10.3 捕获测试数据 203
10.3.1 捕获响应 204
10.3.2 捕捉实际延迟 206
10.3.3 模拟随机的延迟波动 207
10.4 运行性能测试 207
10.5 扩展mountebank 210
10.6 本章小结 212