Во время выполнения теста junit я не могу получить контекст приложения для загрузки свойств из внешних файлов свойств.
Учитывая следующее:
TestClass
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/app-config.xml")
public class JdbcWatsonDaoTests {
@Autowired
JdbMyDao jdbcMyDao;
@Before
public void setUp() throws Exception {
}
@Test
public void testMethod() {
doSomeStuff();
}
}
app-config.xml
<util:properties id="aProperties" location="classpath:spring/a.properties" />
<util:properties id="bProperties" location="classpath:spring/b.properties" />
<bean id="oracleDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="${oracle.url}"/>
<property name="username" value="${oracle.username}"/>
<property name="password" value="${oracle.password}"/>
</bean>
, а файлы a.properties и b.properties находятся в том же месте, что и app-config.xml ...
Я обнаружил, что при запускетест, заполнители свойств (литерал "$ {property}") - это то, что отправляется на сервер оракула, а не значения в файлах свойств.
Я также пытался использовать конфигурацию компонента с помощьюВместо PropertyPlaceholderConfigurer, но он по-прежнему не находит / не включает свойства.
Я использую helios eclipse, spring 3.0.5, новейший выпуск m2eclipse и 4.4 junit.Мне пришлось понизить версию junit для другой ошибки maven / junit.
При публикации в tomcat свойства читаются и используются должным образом.Я вижу проблему только при запуске теста junit.