springboot 单元测试
@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。基本用法如下:
1、pom添加Maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
2、如使用idea可以自动生成并跳转到测试类,具体见:idea可以自动生成并跳转
public class SlotBenefitServiceImplTest extends WwtmApplicationTests { @Resource private ISlotBenefitService slotBenefitService; @Test public void list() throws Exception { SlotDataDTO slotDataDTO = new SlotDataDTO(); slotDataDTO.setSlotId(10000L); slotDataDTO.setCreated("2018-10-26"); slotBenefitService.list(slotDataDTO); } }
此处WwtaApplicationTests 为主测试类,创建springboot项目自动生成的,这样测试时启动就和启动项目一样,WwtmApplicationTests 类如下:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WwtmApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class WwtmApplicationTests {
@Test
public void contextLoads() {
}
}
其中,classes属性指定启动类,SpringBootTest.WebEnvironment.RANDOM_PORT经常和测试类中@LocalServerPort一起在注入属性时使用。会随机生成一个端口号。