我正在使用 @Profile Spring 注释在嵌入式、独立和容器管理的数据源之间进行选择。为了选择“嵌入式”,我的集成测试被注释以激活适当的配置文件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class, classes={TestConfigWrapper.class})
@ActiveProfiles({"EMBEDDED_DB"})
public class SomeIntegrationTest {
问题是我想将“@ActiveProfiles”移动到 TestConfigWrapper 中,但是这样做不会被选中,并且应用程序上下文不会加载任何数据源。
这意味着我必须使用 @ActiveProfile 注释每个集成测试,这实际上意味着它成为集成测试样板并且很容易阻碍未来的重构。
有没有办法使用 java config 来做到这一点?