- 微服务从小白到专家:Spring Cloud和Kubernetes实战
- 姚秋辰 张昕 卿睿
- 295字
- 2025-02-16 16:46:57
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()方法,具体代码如下:
