我正在尝试为一个项目进行 JUnit 测试,但是我无法从注入应用程序上下文 xml 文件的 pom 中获取属性。具体来说,我想注入定义应用程序运行环境的 env.code 变量。
就目前而言,pom包含
<properties>
<env.code>dev</env.code>
...
</properties>
当应用程序正常运行时,web.xml 文件获取 env.code 变量并将其重命名为“environment”。“环境”变量在引用的上下文配置 xml 文件中使用。
<context-param>
<param-name>environment</param-name>
<param-value>${env.code}</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:SpringBeans.xml classpath:SpringDataSource.xml</param-value>
</context-param>
我想在 JUnit 测试中复制这种行为。到目前为止,我的简单测试用例看起来像
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"/SpringBeans.xml", "/SpringDataSource.xml"})
public class MyTest {
@Test
public void testOne() {}
}
由于我没有运行 Web 应用程序,因此绕过了 web.xml 文件,因此尝试运行测试时出现错误,因为解析应用程序上下文 xml 文件时出现问题,因为 ${environment} 没有被替换。
如何将 pom 中定义的 env.code 值注入应用程序上下文文件中的 ${environment} 占位符?