Springboot test使用
使用例子
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
class ApplicationTests {
@Test
public void test() {
}
}
引入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.7.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
或者
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.22</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<version>2.7.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
注解说明
@RunWith
SpringJUnit4ClassRunner 的子类,负责在Junit run之前为Test准备Springboot的support,创建context,负责在跑JUnit test之前把Springboot 启动起来
。
@SpringBootTest
启动Springboot应用
,启动时所有scope内的bean都会被加载,这也就是为什么在test class中我们可以Autowire 我们在应用代码中定义的bean的原因。
@ActiveProfiles
指定Spring boot读取对应的application-{profile}.properties/yml
文件