@RunWith(SpringRunner.class) 里面参数详解
时间: 2023-08-16 20:18:51 浏览: 135
`@RunWith` 是 JUnit 提供的注解,用于指定测试类的运行器,常用的运行器有 `SpringRunner.class`。
`SpringRunner` 是 Spring 提供的 JUnit4 的运行器,它会在测试开始的时候自动创建 Spring 的应用上下文,并将被测试类中的 `@Autowired` 注解的依赖自动注入进去。同时,它还支持其他 Spring 相关的注解,比如 `@Transactional`、`@ContextConfiguration` 等。
在使用 `@RunWith(SpringRunner.class)` 的时候,需要保证项目中已经引入了 Spring Test 相关的依赖,比如:
```xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
```
同时,还需要在测试类上面添加 `@SpringBootTest` 注解,用于指定 Spring Boot 的启动类。
```java
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class SampleTest {
}
```
其中,`classes` 参数指定 Spring Boot 的启动类,可以是一个带有 `@SpringBootApplication` 注解的类,也可以是一个配置类。
总之,`@RunWith(SpringRunner.class)` 的作用就是让测试类在 Spring 环境下运行,并能够自动注入依赖。
阅读全文