图书介绍
Java微服务测试 基于Arquillian、Hoverfly、AssertJ、JUnit、Selenium与Mockito【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 刘梦馨译;(美国)亚历克斯·索托·布埃诺,安迪·巩布莱希,詹森·波特 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121367106
- 出版时间:2019
- 标注页数:282页
- 文件大小:96MB
- 文件页数:306页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java微服务测试 基于Arquillian、Hoverfly、AssertJ、JUnit、Selenium与MockitoPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 微服务概述1
1.1 什么是微服务,为什么要使用微服务2
1.1.1 为什么要使用微服务3
1.1.2 什么是微服务5
1.1.3 持续集成、持续部署和Docker6
1.2 微服务网络及其功能7
1.2.1 微服务网络7
1.2.2 微服务特性8
1.3 微服务架构9
1.3.1 资源组件10
1.3.2 业务领域组件10
1.3.3 远程资源组件11
1.3.4 持久化组件11
1.4 微服务单元测试12
1.4.1 孤立型单元测试12
1.4.2 联合型单元测试12
总结13
第2章 测试下的应用14
2.1 准备开始15
2.2 准备工作16
2.2.1 Java Development Kit16
2.2.2 构建工具17
2.2.3 环境变量17
2.2.4 集成开发环境(IDE)18
2.3 架构18
2.3.1 游戏服务19
2.3.2 评论服务22
2.3.3 视频服务24
2.3.4 聚合服务26
2.3.5 整体架构27
2.4 应用设计模式28
2.4.1 解构28
2.4.2 ECB模式38
2.4.3 其他模式40
2.5 设计决策42
总结42
第3章 微服务单元测试44
3.1 单元测试技术44
3.1.1 联合型单元测试45
3.1.2 测试替身46
3.1.3 孤立型单元测试48
3.1.4 微服务的单元测试49
3.2 工具51
3.2.1 JUnit51
3.2.2 AssertJ52
3.2.3 Mockito53
3.2.4 构建脚本的修改54
3.3 编写Gamer应用的单元测试55
3.3.1 YouTubeVideoLinkCreator测试55
3.3.2 YouTubeLink测试56
3.3.3 Games测试58
3.3.4 GamesService测试60
3.3.5 GamesResource测试63
练习68
总结68
第4章 微服务组件测试69
4.1 Arquillian测试框架70
4.2 @RunWith(Arquillian.class)注解72
4.3 ShrinkWrap工具类75
4.3.1 利用ShrinkWrap构建归档文件76
4.3.2 给ShrinkWrap归档文件增加内容77
4.3.3 添加资源79
4.3.4 增加库和依赖80
4.3.5 利用Maven解析器增加复杂依赖80
4.3.6 增加服务实现82
4.4 写一次代码,然后复用83
4.5 构建脚本的修改84
4.5.1 定义Maven依赖85
4.5.2 定义Gradle依赖86
4.6 覆盖Arquillian的默认配置87
4.6.1 容器定义89
4.6.2 指定容器属性89
4.7 使用Arquillian REST扩展90
4.7.1 Arquillian REST客户端扩展90
4.7.2 Warp REST扩展91
4.8 使用Arquillian测试Spring应用93
4.8.1 Arquillian Spring框架扩展94
4.8.2 测试Spring Boot应用96
4.9 更复杂的Arquillian测试98
4.9.1 测试远程组件98
4.9.2 测试资源组件101
4.9.3 测试领域组件103
4.9.4 测试持久化组件103
练习106
总结106
第5章 微服务集成测试108
5.1 微服务架构下的集成测试109
5.1.1 网关组件层110
5.1.2 数据映射器和仓库111
5.2 使用Arquillian持久化扩展进行持久化测试111
5.2.1 描述式方法114
5.2.2 过程式方法116
5.2.3 使用NoSQLUnit进行持久化测试121
5.2.4 使用Arquillian多部署的持久化测试125
5.2.5 使用Arquillian序列的持久化测试126
5.2.6 构建脚本的修改127
5.3 Gamer应用的集成测试128
5.3.1 测试Comments类128
5.3.2 测试CommentsGateway类131
练习137
总结137
第6章 契约测试138
6.1 理解契约138
6.1.1 契约和单体应用139
6.1.2 契约和微服务应用140
6.1.3 使用集成测试进行验证145
6.1.4 什么是契约测试146
6.1.5 谁负责契约146
6.2 工具149
6.2.1 Pact150
6.2.2 JVM语言中的Pact152
6.2.3 利用Algeron将Pact JVM与Arquillian生态系统集成161
6.3 构建脚本的修改168
6.3.1 使用Pact JVM进行契约测试168
6.3.2 使用Arquillian Algeron进行契约测试168
6.4 为Gamer应用编写消费者驱动的契约测试170
6.4.1 评论服务的消费者端170
6.4.2 评论服务的生产者端173
6.5 契约类型总结175
练习176
总结176
第7章 端到端测试177
7.1 端到端测试在整个测试体系中的位置178
7.2 端到端测试技术178
7.2.1 垂直测试179
7.2.2 水平测试179
7.3 端到端测试工具介绍180
7.3.1 Arquillian Cube180
7.3.2 Arquillian Drone180
7.3.3 Arquillian Graphene 2181
7.3.4 JMeter181
7.3.5 Cukes in Space181
7.4 端到端测试样例181
7.4.1 构建微服务182
7.4.2 增加构建依赖和配置182
7.4.3 给测试增加@Deployment注解和@TargetsContainer注解189
7.4.4 跨域资源共享191
7.4.5 使用@ClassRule处理混合环境192
7.4.6 使用@OperateOnDeployment注解操作部署197
7.4.7 引入@Drone、页面对象、@Location和WebDriver198
7.4.8 在测试中操作页面对象200
7.4.9 运行测试202
练习203
总结203
第8章 Docker和测试204
8.1 Docker生态系统下的工具205
8.1.1 Docker205
8.1.2 Docker Machine207
8.1.3 Docker Compose208
8.2 Arquillian Cube210
8.2.1 设置Arquillian Cube211
8.2.2 编写容器测试214
8.2.3 编写集成测试217
8.2.4 编写端到端测试221
8.3 REST API224
8.4 Arquillian Drone和Graphene225
8.4.1 Arquillian Cube和Arquillian Drone的集成225
8.4.2 Arquillian Cube和Arquillian Graphene的集成228
8.5 并行测试230
8.6 Arquillian Cube和Algeron231
8.7 使用容器对象模式233
8.8 部署测试和Kubernetes240
8.9 构建脚本的修改245
8.9.1 Arquillian Cube Docker245
8.9.2 Arquillian Cube Docker JUnit规则246
8.9.3 Arquillian Cube Kubernetes246
8.9.4 Arquillian Cube OpenShift247
8.10 测试视频服务的Dockerfile247
练习249
总结249
第9章 服务虚拟化250
9.1 什么是服务虚拟化250
9.1.1 为什么要使用服务虚拟化251
9.1.2 什么时候使用服务虚拟化252
9.2 使用Hoverfly模拟服务响应253
9.2.1 Hoverfly模式253
9.2.2 JUnit Hoverfly255
9.2.3 配置Hoverfly257
9.3 构建脚本的修改258
9.4 对Gamer应用使用服务虚拟化258
总结260
第10章 微服务下的持续交付262
10.1 什么是持续交付263
10.2 微服务架构和持续交付264
10.3 持续交付的编排266
10.3.1 使用Jenkins267
10.3.2 Jenkins流水线267
10.3.3 确定性部署271
10.4 Jenkins272
10.4.1 定义一个流水线276
10.4.2 Jenkins流水线示例278
总结280
附录A 使用Arquillian Chameleon屏蔽不同类型的容器281
热门推荐
- 334819.html
- 812034.html
- 3868234.html
- 2007685.html
- 3414139.html
- 2938523.html
- 2667364.html
- 2347363.html
- 2069709.html
- 2863013.html
- http://www.ickdjs.cc/book_1936990.html
- http://www.ickdjs.cc/book_702421.html
- http://www.ickdjs.cc/book_3347850.html
- http://www.ickdjs.cc/book_1351795.html
- http://www.ickdjs.cc/book_130659.html
- http://www.ickdjs.cc/book_3148841.html
- http://www.ickdjs.cc/book_2810201.html
- http://www.ickdjs.cc/book_2710265.html
- http://www.ickdjs.cc/book_2617008.html
- http://www.ickdjs.cc/book_704711.html