Me gustaría hacer pruebas para mi aplicación web, pero la configuración de contexto falla en el autoencendido servletContext
. Error a continuación. Autowiring servletContext
funciona bien cuando ejecuto la aplicación web en tomcat/jetty.Pruebas unitarias Spring web-app de MVC: no se pudo autoconectar el campo: private javax.servlet.ServletContext
java.lang.IllegalStateException: No se ha podido cargar Application Context ... Causado por: org.springframework.beans.factory.BeanCreationException: Error creando frijol con el nombre 'testController': La inyección de dependencias autowired fallado; la excepción anidada es org.springframework.beans.factory.BeanCreationException: no se pudo campo de autovínculo: private javax.servlet.ServletContext com.test.controllers.TestController.servletContext; excepción anidada es org.springframework.beans.factory.NoSuchBeanDefinitionException: No coincidencia de frijol de tipo [javax.servlet.ServletContext] encontró para dependencia: esperado al menos 1 bean que califica como Autowire candidato para esta dependencia. anotaciones Dependencia: {@ org.springframework.beans.factory.annotation.Autowired (requiere = true)}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class FirstTest {
@Test
public void doTest() throws Exception {
// ...
}
}
TestController
@Controller
public class TestController {
@Autowired
private ServletContext servletContext;
...
}
Ver esta respuesta relacionada http://stackoverflow.com/questions/2674697/how-to-inject-servletcontext-for-junit -tests-with-spring – ptomli
Gracias. ¿Cómo se usa 'MockServletContext' con' @ ContextConfiguration'? – marioosh
Solo incluya una definición para el 'MockServletContext' en su archivo' applicationContext.xml' –
ptomli