spring测试注解类详解

@SpringBootTest

用来指定SpringBoot应用程序的入口类, 该注解默认会根据包名逐级往上找, 一直找到一个SpringBoot主程序class为止, 然后启动该类为单元测试准备Spring上下文环境. Spring单元测试并不在每个测试方法前都移动一个全新的Spring上下文, 因为这样做太耗费时间, 而是会缓存上下文环境. 如果某个测试方法需要重新准备Spring上下文, 需要在该方法上加 @DirtiesContext 注解.

@Test

JUnit在执行每个测试方法之前, 都会为测试类创建一个新的实例, 这样有助于隔离各个测试方法之前的相互影响

@RunWith作用

  1. 表示JUnit将调用它所引用的类来运行该类中的测试而不是开发者去在junit内部去构建它
  2. spring系列框架中单元测试必须要通过此注解使用spring运行器运行单元测试,否则,自动注入会失效
    不使用的情况
    spring测试注解类详解_第1张图片
    使用junit默认运行器的情况
    spring测试注解类详解_第2张图片
    使用spring封装后的运行器情况
    spring测试注解类详解_第3张图片

spring测试运行类:SpringJUnit4ClassRunner 、SpringRunner

SpringRunner单纯只是简化了SpringJUnit4ClassRunner 写法
在这里插入图片描述
而SpringJUnit4ClassRunner 是在junit默认运行器的基础上进行了封装
spring测试注解类详解_第4张图片

你可能感兴趣的:(分布式架构)