Utilice una anulación de la prueba (por ejemplo testOverrides.xml):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- this file need to be imported before other contexts to ensure the test properties take effect -->
<context:property-placeholder location="classpath*:META-INF/spring/testproperties/*.properties"/>
</beans>
En sus pruebas, asegúrese de que sea importó por primera vez:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:META-INF/spring/testOverrides.xml","classpath*:META-INF/spring/applicationContext.xml"})
public class SomeTest { ... }
Ahora poner todas sus propiedades de prueba en src/test/resources/META-INF/spring/testproperties/
.
También debe asegurarse de que el configurador de marcador de posición main
no vea testproperties
, p. aquí está el mío:
<context:property-placeholder location="classpath*:META-INF/spring/*.properties"/>
No utiliza el comodín doble *, por lo que solo se verá en ese directorio.
Utilizo el método anterior con gran éxito.
Lo hace automáticamente. ¿Cómo los estás leyendo? – Bozho
leí el archivo de propiedades en el contexto de aplicación XML con \t \t \t –