@SpringBootTest
针对Spring Boot应用的测试支持(1.4.0版本加入),当webEnvironment为MOCK时,默认可以注入MockMvc(比如借助@AutoConfigurationMockMvc),当webEnvironment为RANDOM_PORT和DEFINED_PORT时,默认可以注入TestRestTemplate或WebTestClient。
value或properties
用来定义属性,key=value形式,例如:
1 | |
或
1 | |
classes
用来指定Configuration类用于加载ApplicationContext,作用类似于@ContextConfiguration例如:
1 | |
webEnvironment
MOCK
利用仿真Web容器,不会启动真正的Web容器,默认值。
RANDOM_PORT
随机端口启动嵌入式Web容器
DEFINED_PORT
指定的端口启动嵌入式Web容器
NONE
样例
TestRestTemplate
1 | |
WebTestClient
1 | |
@AutoConfigureMockMvc
开启MockMvc自动配置,默认可以注入MockMvc,可以配合@SpringBootTest使用。
会启动完整Spring容器,用于集成测试。
样例
1 | |
@WebMvcTest
专门针对Spring MVC的单元测试(参数传入待测试的Controller),不会加载整个Spring容器,仅加载指定bean以及web层相关组件,@Component,@Service和@Repository等都不会加载,默认会注入MockMvc,如果Controller依赖其他比如@Service,则会报错(找不到相应bean),通过Mock或Import相应的bean来解决。结合@ContextConfiguration实例化上下文。
样例
1 | |
@WebFluxTest
跟@WebMvcTest类似
@AutoConfigureWebTestClient
@AutoConfigureWebFlux
@SpringApplicationConfiguration
已被废除
@WebIntegrationTest
已被废除