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

时间:2020-08-31 17:29:21

标签: java spring spring-boot junit spring-test

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

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

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

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

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

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

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

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

相关问题