나는 봄과 Mockito와 JUnit 테스트를 실행 해요에 속성을 재 작성하지 않고, 나는 주사 다음과 같은 구성으로 콩이 있습니다Maven은 JUnit을/Mockito의 context.xml에
<bean name="roleDefault" id="roleDefault" class="java.lang.String">
<constructor-arg>
<value>${database.rule}</value>
</constructor-arg>
</bean>
그리고 내 치어을. XML은 "desenvolvimento"의 ID를 갖는 프로파일이 구성을 가지고
<database.rule>SET ROLE RO_APP IDENTIFIED BY WEBAPP</database.rule>
문제는 : 어느 다음 오류 결과 ${database.rule}
의 값을 계산하지 않고 이클립스 또는 mvn test
모든 테스트를 실행 :
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "${database.rule}" [42000-165]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.message.DbException.getSyntaxError(DbException.java:181)
at org.h2.jdbc.JdbcConnection.checkRunOver(JdbcConnection.java:1318)
at org.h2.jdbc.JdbcConnection.translateSQL(JdbcConnection.java:1271)
at org.h2.jdbc.JdbcConnection.translateSQL(JdbcConnection.java:1187)
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:265)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:98)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:182)
... 75 more
왜 database.rule
의 값을 다시 작성하지 않습니까?
말아야 때문에 ...은'$ {...}'컨텍스트 파일에 봄하지 받는다는에 의해 대체되는 속성 자리 표시 자입니다. –
기본 테스트는 또한'@RunWith (SpringJUnit4ClassRunner.class) '로 주석 처리됩니다. – ViniciusPires
여전히 maven이 물건을 대체하게하지 않습니다. 필자는 sprnig 문서를 강력하게 제안합니다. '$ {...} '자리 표시자를 대체 할 등록 정보 파일을로드하는' '를 추가하십시오. –