Spring JUnit .properties 文件不起作用

Posted

技术标签:

【中文标题】Spring JUnit .properties 文件不起作用【英文标题】:Spring JUnit .properties file does not work 【发布时间】:2016-05-07 07:55:58 【问题描述】:

这是我的测试类中的注解配置。

@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource("classpath:jdbc.properties")
@ContextConfiguration("classpath:applicationContext.xml","classpath:mvc-dispatcher-servlet.xml")
@WebAppConfiguration

applictionCotnext.xml包括jpa-context.xml,数据库配置在jpa-context.xml,dataSource配置在jdbc.properties

当我运行测试方法时,由于 jdbc.properties 中的所有值都为空而导致无法打开连接。

然后我在同一个测试类中添加一个访问属性的方法。

@Inject
private ApplicationContext context;
@Test
public void accessProperties()
    MutablePropertySources sources = ((ConfigurableApplicationContext) context)
                .getEnvironment().getPropertySources();
    System.out.println("jdbcUrl=="+sources.iterator().next().getProperty("jdbcUrl"));

我获得了jdbc 网址成功。怎么了?

【问题讨论】:

【参考方案1】:

如果您使用的是 Apache Maven,您需要将属性文件放在 src/test/resources 中。那应该会拿起你的财产。

【讨论】:

以上是关于Spring JUnit .properties 文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot JUnit 和 @TestPropertySource 使用多个属性文件

Spring jUnit 测试属性文件

Spring整合JMS

Spring 与 MyBatis 整合

使 Spring JUnit Test 在测试数据库上运行

为 JUnit Runner (Eclipse) 设置系统属性以测试 Spring Web App