微服务从小白到专家:Spring Cloud和Kubernetes实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.8 Spring Boot项目测试

本节我们介绍基于Spring Boot的项目测试组件spring-boot-starter-test,在项目中引入该组件的步骤如下。

第一步,在项目的pom.xml文件中引入依赖项,具体代码如下:

spring-boot-starter-test提供了测试所需的功能特性,h2是一个内存数据库,通过执行SQL语句模拟数据库操作。

第二步,引入DataJpaTest注解,具体代码如下:

@DataJpaTest主要为测试JPA做底层支持,包括但不限于以下功能:

• 配置H2为数据库。

• SQL的日志功能。

• 执行@EntityScan。

• 配置Hibernate、Spring Data及DataSource。

第三步,创建Mock Bean,此处Mock的含义可以理解为“偷梁换柱”,即使用假的Bean模拟真实的Bean注入测试对象中。在service层进行单元测试时,无需使用真实的数据库Repository对象,可以采用这种Mock Bean的方式,示例代码如下:

第四步,使用@WebMvcTest注解测试CouponTemplateController类中的addTemplate()方法,具体代码如下: