Estoy tratando de desarrollar algunas pruebas de integración efectivas para mi aplicación GAE/j. Estoy familiarizado con https://developers.google.com/appengine/docs/java/tools/localunittesting - estas herramientas son excelentes para pruebas de unidades pequeñas. Ahora estoy interesado en desarrollar pruebas de integración que prueben las solicitudes web reales. Por ejemplo, me gustaría probar que web.xml está mapeando servlets y filtros a las URL esperadas y prueba que mis JSP generen lo que espero.Pruebas de integración para Google App Engine (java)
Mi objetivo era abrir un servidor de desarrollo local dentro de la JVM, contra el cual podía disparar las solicitudes. Sin embargo, estoy abierto a otras estrategias de integración; como dije antes, solo quiero probar efectivamente la generación de JSP y otras características de nivel de solicitud.
He logrado utilizar DevAppServerFactory para iniciar un servidor de desarrollo en la misma JVM. Sin embargo, parece que el DevAppServer que esto genera usa un cargador de clases separado de la JVM principal. Esto hace que las pruebas sean mucho más desafiantes. No puedo usar ninguna de las pruebas locales locales * TestConfig para controlar el comportamiento de este servidor. Del mismo modo, no puedo "rodar mis propios ganchos" para modificar el comportamiento a través, p. Ej. estática, ya que las estáticas que puedo mutar en el arnés de prueba no son las mismas estáticas que el DevAppServer está mirando. Esto hace que sea difícil omitir características que no son centrales para la prueba actual (por ejemplo, que requiera inicio de sesión), inyectar fallas, inyectar simulacros, etc. Esto realmente limita la manera en que puedo probar mi código de manera completa y eficiente.
He encontrado una gran escasez de documentación en la web para realizar pruebas de integración con App Engine. Estoy seguro de que alguien ha hecho esto antes ... ¿hay algún consejo o recurso que puedas compartir?