test - ¿Cómo acceder al contexto Spring en las pruebas jUnit anotadas con @RunWith y @ContextConfiguration?
test spring applicationcontext (3)
Dado que las pruebas se instanciarán como un Spring Bean también, solo necesita implementar la interfaz ApplicationContextAware:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/services-test-config.xml"})
public class MySericeTest implements ApplicationContextAware
{
@Autowired
MyService service;
...
@Override
public void setApplicationContext(ApplicationContext context)
throws BeansException
{
// Do something with the context here
}
}
Tengo la siguiente clase de prueba
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/services-test-config.xml"})
public class MySericeTest {
@Autowired
MyService service;
...
}
¿Es posible acceder a services-test-config.xml
programación en uno de esos métodos? Me gusta:
ApplicationContext ctx = somehowGetContext();
Esto funciona bien también:
@Autowired
ApplicationContext context;
Si su clase de prueba extiende las clases de Spring JUnit
(por ejemplo, AbstractTransactionalJUnit4SpringContextTests
o cualquier otra clase que extienda AbstractSpringContextTests
), puede acceder al contexto de la aplicación llamando al método getContext()
.
Consulte los javadocs para el paquete org.springframework.test.