我想创建一个像@WebMvcTest
一样的注释(它有很多参数,包括要测试的控制器),但还要加载其他配置@Import(...)
。
我看过文章https://spring.io/blog/2016/08/30/custom-test-slice-with-spring-boot-1-4,但它描述了无参数注释。
如何“扩展”现有的测试切片?
可以这样导入控制器和其他配置:
@WebMvcTest(value = {MyController.class, MyConfig.class})
但是,如果您仍然想扩展@WebMvcTest
注释,您可以创建一个组合的注释:
@Retention(RUNTIME)
@Target(TYPE)
@WebMvcTest
public @interface ExtendedMvcTest {
@AliasFor(annotation = WebMvcTest.class, attribute = "value")
Class<?>[] includeClasses() default {};
}
然后将其应用于测试:
@ExtendedMvcTest(includeClasses = {MyController.class, MyConfig.class})
class WebTests {}