Durante l'esecuzione di un test junit, non riesco a ottenere il contesto dell'applicazione per caricare le proprietà dai file delle proprietà esterne.junit/proprietà molla non caricate con contesto applicazione
Dato il seguente:
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>
ei file a.properties e b.properties sono nella stessa posizione come App-Il config.xml ...
ho scoperto che quando si esegue il test, le proprietà di segnaposto s (letterale "$ {property}") è ciò che viene inviato al server Oracle invece dei valori nei file delle proprietà.
Ho anche provato ad utilizzare una configurazione bean utilizzando PropertyPlaceholderConfigurer invece di, ma ancora non trova/include proprietà.
Sto usando Helios eclissi, primavera 3.0.5, ultimo m2eclipse rilascio e 4.4 JUnit. Ho dovuto eseguire il downgrade di junit per un altro bug di maven/junit.
Quando pubblicate entro Tomcat, le proprietà vengono letti e utilizzati correttamente. Vedo solo il problema durante l'esecuzione di un test di junit.
sono in esecuzione i test attraverso un accumulo Maven o traverso Eclipse> Esegui come> test JUnit? –
eclipse> esegui come> junit test Maven a questo punto sta solo gestendo le dipendenze. L'ho portato solo perché ho riscontrato un altro bug che aveva a che fare con l'ordine del percorso di costruzione. – camada