Spring Boot:加载所有在测试中实现接口的bean?

问题描述

我有一些接口Filter和该接口的一些实现。

@Test中,我想加载所有实现Filter的bean。

当前,我必须明确声明它们。例如:

@ContextConfiguration(classes = {FilterA.class,FilterB.class})

问题:引入另一个Filter将要求为每个使用filters的测试类添加它。

有更好的方法吗?

解决方法

添加一个TestConfiguration并在配置中声明实现该接口的所有bean。然后在测试中添加@Import(TestConfiguration.class)

这样,如果有其他实现,您只需将其添加到TestConfiguration中即可。

您唯一需要注意的就是使用@Qualifier注释添加适当的接口实现。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...