0%

SpringBoot单元测试

SpringBoot单元测试

springboot中可以使用@SpringBootTest来进行单元测试,其中设置webEnvironment可以来定义运行模式,并在测试用例上使用@RunWith(SpringRunner.class)注解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum WebEnvironment {

// 加载WebApplicationContext,并提供一个mock servlet环境,使用该模式内嵌的servlet容器不会启动
MOCK(false),

// 加载EmbeddedWebApplicationContext,并提供一个真实的servlet环境,内嵌servlet容器启动,并监听一个随机端口
RANDOM_PORT(true),

// 加载EmbeddedWebApplicationContext,并提供一个真实的servlet环境,内嵌servlet容器启动,并监听一个定义好的接口
DEFINED_PORT(true),

// 使用SpringApplication加载一个ApplicationContext,但不提供servlet环境
NONE(false);

}

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

@Autowired
private CustomConfig config;

@Test
public void testProfile() {
System.out.println(config.getName());
}

}