第Ⅰ部分 起步 3
第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 43
第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
第Ⅲ部分 关闭循环 179
第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