gpt4 book ai didi

spring - 在集成测试中使用 Spring @ActiveProfile

转载 作者:行者123 更新时间:2023-12-04 02:47:58 26 4
gpt4 key购买 nike

我正在使用 @Profile Spring 注释在嵌入式、独立和容器管理的数据源之间进行选择。为了选择“嵌入式”,我的集成测试被注释以激活适当的配置文件:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class, classes={TestConfigWrapper.class})
@ActiveProfiles({"EMBEDDED_DB"})
public class SomeIntegrationTest {

问题是我想将“@ActiveProfiles”移动到 TestConfigWrapper 中,但这样做并没有被接受,应用程序上下文也不会加载任何数据源。

这意味着我必须用 @ActiveProfile 注释每个集成测试,这实际上意味着它成为集成测试样板,很容易阻碍 future 的重构。

有没有一种方法可以使用 java 配置来做到这一点?

最佳答案

根据 Hippooom 的评论,使用抽象类来配置测试:

@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={WebAppInitializer.class})
@ActiveProfiles({Profiles.EMBEDDED_DB})
public abstract class ProfiledIntegrationTest {

}

关于spring - 在集成测试中使用 Spring @ActiveProfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18453981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com