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

Java SpringBoot:在测试中加载实现接口的所有bean?,java,spring,spring-boot,junit,spring-test,Java,Spring,Spring Boot,Junit,Spring Test,我有一些接口过滤器和这个接口的一些实现 在@Test中,我想加载实现过滤器的所有bean 目前,我必须明确声明它们。例如: @ContextConfigurationclasses={FilterA.class,FilterB.class} 问题是:引入另一个过滤器需要为每个使用过滤器的测试类添加它 有更好的方法吗?添加一个TestConfiguration,并在配置中声明实现接口的所有bean。然后在测试中添加@importettconfiguration.class 这样,如果有额外的实现,

我有一些接口过滤器和这个接口的一些实现

在@Test中,我想加载实现过滤器的所有bean

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

@ContextConfigurationclasses={FilterA.class,FilterB.class}

问题是:引入另一个过滤器需要为每个使用过滤器的测试类添加它

有更好的方法吗?

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

这样,如果有额外的实现,您只需在TestConfiguration中添加它

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

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

这样,如果有额外的实现,您只需在TestConfiguration中添加它


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

方法是编写@Bean注释的方法并返回一个新对象?是的。确保用@TestConfiguration注释类。这会将其标记为测试配置类而不是常规配置类,因此不会干扰应用程序中的bean设置。通过编写带有@bean注释的方法并返回新对象?没错。确保用@TestConfiguration注释类。这将把它标记为测试配置类而不是常规配置类,因此不会干扰应用程序中的bean设置。