在代码尝试访问Spring Test案例中的System.getProperty()时遇到问题。在正在运行的测试用例上设置VM参数时,但要运行每个测试用例类,必须明确设置VM参数。
有没有办法在加载应用程序上下文之前在Spring中设置环境变量。
提前致谢
答案 0 :(得分:1)
你可以借助静态块来做到这一点,静态块首先在其他任何地方执行
static {
System.setProperty("", "");
}
答案 1 :(得分:1)
请勿使用System.getProperty()
。
相反,使用Spring的Enviornment
抽象与属性源(例如,@PropertySource
)和@Value("${propertyName}")
将属性的值注入您的生产组件(例如,@Service
类等)。
然后,在使用@RunWith(SpringRunner.class)
注释的集成测试中,使用@TestPropertySource
来覆盖具有测试属性值的生产属性值。