微服务架构下的测试之(三)-冒烟測試

栏目: 后端 · 发布时间: 5年前

内容简介:冒烟測試(Smoke Test) : 这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。在微服務的架構下,我們可以使用冒烟測試來保證单个微服务在不依赖其他服务(其他服务在此处包含其他微服务或者其他的中间件)的前提下,其本身是正常运行的。举个例子,我们有三个微服务,一个是Gateway, 一个是ServiceA, 一个是ServiceB,它们的调用关系如下图。 现

冒烟測試(Smoke Test)

冒烟測試(Smoke Test) : 这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

在微服務的架構下,我們可以使用冒烟測試來保證单个微服务在不依赖其他服务(其他服务在此处包含其他微服务或者其他的中间件)的前提下,其本身是正常运行的。

测试方案

举个例子,我们有三个微服务,一个是Gateway, 一个是ServiceA, 一个是ServiceB,它们的调用关系如下图。 现在要上线的是ServiceA,我们需要保证的是在不依赖ServiceB的情况下,ServiceA可以正常启动,部署和运行。

微服务架构下的测试之(三)-冒烟測試

针对冒烟测试可以搭配使用 MockMvcWireMock 来实现。

项目代码

举个例子,有一个下单的流程,我们有4个微服务,分别是ms-gateway, ms-service, ms-product, ms-order. 其中

ms-gateway 负责gateway功能,所有微服务在一个子网,保证只有gateway可以与外网交互
ms-service 负责业务逻辑的处理
ms-product 负责产品信息的维护和库存的维护
ms-order 负责订单信息的维护

具体的调用时序图如下:

微服务架构下的测试之(三)-冒烟測試

现在我们要部署ms-service项目,并且相对其进行冒烟测试。

项目controller层代码如下:

项目service层代码如下:

测试代码

那么我们就可以使用 MockMVCWireMock 对这个项目进行测试,如下

pom.xml

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>
<dependency>
	<groupId>com.github.tomakehurst</groupId>
	<artifactId>wiremock</artifactId>
	<version>2.1.12</version>
	<scope>test</scope>
</dependency>

ProductControllerSmokeTest.java

完整代码

请参照 GITHUB ms-service

參考資料

冒烟测试 : https://baike.baidu.com/item/%E5%86%92%E7%83%9F%E6%B5%8B%E8%AF%95/2166486?fr=aladdin

MockMvc : https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html

WireMock : http://wiremock.org/


以上所述就是小编给大家介绍的《微服务架构下的测试之(三)-冒烟測試》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

新媒体营销概论

新媒体营销概论

秋叶、刘勇 / 人民邮电出版社 / 2016-12-1 / 36.00

本书共分6章。第1章重点介绍了新媒体的概念和特征,引导读者全面认识新媒体所处的行业;第2章用历史发展的眼光,介绍了不同类型的新媒体,让读者不仅能看到最新的新媒体模式,也能看到这个模式发展背后的脉络;第3章重点介绍了新媒体广告投放载体,便于读者选择适合自己的新媒体运营方式;第4章介绍了新媒体运营的策划思维;第5章介绍了新媒体舆情管理知识;第6章选取了可口可乐、海底捞、恒大冰泉等的新媒体助力传统行业转......一起来看看 《新媒体营销概论》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具