带有@RunWith的配置文件(SpringJUnit4ClassRunner.class)



我的TestSuite有两种配置,它们提供了不同的bean用于注入。只要我使用注释设置我的个人资料,这就可以工作。

@ActiveProfiles( profiles={"a"})@ActiveProfiles( profiles={"b"})

但我似乎无法从属性源文件中设置它

我的批注看起来像

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {AConfig.class, BConfig.class })
@PropertySource("classpath:/application.properties")
@TestPropertySource(locations = {"classpath:/application.properties"})
public abstract class AbstractTestIT {
...
}

application.properties的内容是

spring.profiles.active="a"

结果导致依赖性不满意

如前所述,设置与上述@ActiveProfiles有效,并使用正确的设置。

就好像 PropertySource 和/或 TestPropertySource 不能与@RunWith(SpringJUnit4ClassRunner.class)一起使用

一样
只要

我用注释设置我的个人资料,这就可以了。

这是意料之中的。

ActiveProfiles不依赖于spring.profiles.active属性。

ActiveProfiles是一个类级注释,用于声明 装入 测试类的应用程序上下文。

作为value属性别名的profiles属性需要使用要为测试激活的配置文件进行值

要激活的 Bean 定义配置文件。

它不使用spring.profiles.active属性。

spring.profiles.active属性指定哪些配置文件在应用程序的整体配置中处于活动状态,而不是单元测试上下文中的活动配置文件。

相关内容

  • 没有找到相关文章

最新更新