我用mountebank编写了测试微服务的程序,展示了服务虚拟化如何帮助你测试微服务,以及mountebank如何成为一个强大的服务虚 拟化工具。这就需要对mountebank有一个深入的了解。《Mountebank微服务测试》的中间部分专门讨论这个主题,但是许多经验都 适用于任何服务虚拟化工具。 《Mountebank微服务测试》读者对象 mountebank是一种对开发人员友好的工具,它使开发人员成为使用mountebank测试微服务的主要受众。希望读者对测试自动化有一 些了解,但是我避免在《Mountebank微服务测试》中使用任何语言特性来重点关注工具和方法。自动化友好的QA测试人员也会 发现《Mountebank微服务测试》的价值,那些专门从事性能测试的人员也是如此。后,服务虚拟化越来越成为一个体系结构问题 ,在这些页面中,我希望为解决方案架构师提供正确决策所需的论据。 《Mountebank微服务测试》内容安排 《Mountebank微服务测试》分为三部分10章。 ● 第Ⅰ部分介绍了分布式的总体测试原理。 第1章简要介绍了微服务,并对传统的端到端测试进行了评论。它有助于解释服务虚拟化如何适应微服务的世界,并为mountebank提 供一个心理模型。 第2章建立了一个示例体系结构,我们将在《Mountebank微服务测试》中反复讨论,并展示如何使用mountebank来自动执行确定性测 试,尽管它是分布式体系结构。 ● 第Ⅱ部分深入介绍mountebank,让你全面了解它的功能。 第3章提供了了解HTTP和HTTPS环境中基本mountebank响应的基础知识。它还描述了通过配置文件管理测试数据的基本方法。 第4章探讨了谓词——mountebank对不同类型请求的不同响应方式。还介绍mountebank关于匹配XML和JSON的功能。 第5章介绍mountebank的记录和重放功能。mountebank使用真实的代理来捕获真实的测试数据。 第6章展示如何通过使用一个称为注入的特性在中编写你自己的谓词和响应来对mountebank本身编程。我们将研究注入如 何帮助解决CORS和OAuth握手中的一些棘手问题,包括虚拟化GitHub的公共API。 第7章通过研究应用于响应的行为,对mountebank引擎的核心功能进行了详细介绍。行为允许用户添加,从外部源查找数据以及 执行大量其他转换步骤。 第8章展示第3~7章中的所有概念如何延伸到HTTPS。mountebank的引擎是协议不可知的,我们给出了基于TCP的示例,包括扩展 的.NET Remoting场景。 ● 第Ⅲ部分后退一步,将服务虚拟化放在更广泛的上下文中。 第9章探讨微服务的一个示例测试管道,从单元测试到手动探索测试,并展示了服务虚拟化的适用和不适用之处。 第10章说明服务虚拟化如何帮助性能测试。它包括一个虚拟化公共可用API的完整例子。 关于代码 《Mountebank微服务测试》使用了一些代码示例来帮助说明这些概念。其中一些是假设的(见第4章),一些是基于虚拟化的真实公共 API(见第6章和第10章),还有一些是非常笼统的(见第8章)。我尽力让这些例子在服务虚拟化可以解决的各种问题中通俗易懂,这不 是件容易的事。有些问题很容易理解,但有些,比如虚拟化返回二进制数据的.NET Remoting服务,则不好理解。我希望保持足够的 幽默感,让你对容易出现的问题保持兴趣,对于复杂的行为,给你足够的感觉,让你有能力自己创新。 图书论坛 购买《Mountebank微服务测试》包括访问Manning 出版社运行的私人Web论坛,你可以在该论坛上对《Mountebank微服务测试》 发表评论、提出技术问题以及获得作者和其他用户的帮助。要访问论坛,请访问www.manning.com/books/testing-microservices- Manning对读者的承诺是提供使读者之间以及读者和作者之间进行有意义的对话的场所。作者对论坛的贡献仍然是自愿的,但这不代 表作者承诺任何具体的参与数量。我们建议你问作者一些有挑战性的问题,来引起他的兴趣。 |