43.3.6 自动配置测试

Spring Boot的自动配置系统对应用来说很合适,但用于测试就有点杀鸡用牛刀了,测试时只加载需要的应用片段(slice)通常是有好处的。例如,你可能想测试Spring MVC控制器映射URLs是否正确,且不想在这些测试中涉及到数据库调用。或者,你想测试JPA实体,那测试运行时你可能对web层不感兴趣。

spring-boot-test-autoconfigure模块包含很多用来自动配置这些片段(slices)的注解,每个工作方式都相似,都是提供一个@…Test注解,然后加载ApplicationContext,使用一个或多个@AutoConfigure…注解自定义设置。

每个部分加载了自动配置类的一个非常受限的集合。如果你需要排除它们中的一个,大部分@…Test注解提供了一个excludeAutoConfiguration属性。或者,你可以使用@ImportAutoConfiguration#exclude

@AutoConfigure…注解也可以跟标准的@SpringBootTest注解一块使用,如果对应用片段不感兴趣,只是想获取自动配置的一些测试beans,你可以使用该组合。

最后更新于