第05课:组件测试详解

本课程中所说的组件(Component),是指一个大型系统中,某一个可以独立工作的、封装完整的组成部分。在微服务架构中,组件实际上就代表着微服务本身,或者说单个微服务。以下将其称为“单服务测试”(Single-service Test)。

这个测试的实质,就是将一个微服务与其所依赖的所有其他服务或资源全部隔离开,从该服务外部“用户”的角度来审视服务能否提供预期的输出。

这样做有很多好处:通过把测试范围限定于单个微服务,既可以对这个服务的所有行为、功能进行彻底的验收测试(Acceptance Test),同时执行速度又快得多。相对于上一课所介绍的集成测试,单服务测试的侧重点将是整个服务的功能,而不只是对外的通信与存储。

单元测试、集成测试和单服务测试(即组件测试)之间的关系如下图所示:

image

要把一个微服务作为一个黑盒式的测试对象,需要做到两点:

  1. 用模拟器来取代外部依赖;
  2. 可以用内部 API 终端(Endpoint)来查询或者配置微服务。

另外,通过将外部依赖、资源都模拟化,可以获得下面这些好处:

  1. 避免因为这些外部因素的复杂行为/不确定性,导致测试出现意外结果。
  2. 测试人员能够以可重复的方式,触发故障模式(Failure Mode),检查微服务在这些模式下的响应。

在具体实施这种测试时,

猜你喜欢

转载自blog.csdn.net/weixin_41978708/article/details/108729514