Uso Google Appengine para Java (GAE/J). En la parte superior, uso Jersey REST-framework.Google AppEngine + Pruebas JUnit Locales + Estructura de Jersey + Embedded Jetty
Ahora quiero ejecutar pruebas JUnit locales. La prueba
- configura el entorno local de desarrollo GAE (http://code.google.com/appengine/docs/java/tools/localunittesting.html),
- lanza un servidor incrustado embarcadero,
- y luego dispara peticiones al servidor a través de HTTP y las respuestas de cheques.
Desafortunadamente, el combo Jersey/Jetty genera nuevos hilos. GAE espera que solo se ejecute un hilo. Al final, termino teniendo cualquiera datstore dentro de los recursos de Jersey o múltiples, teniendo diferente almacén de datos.
Como solución alternativa, inicializo el env de GAE local solo una vez, lo pongo en una variable estática y dentro del recurso de GAE agrego muchas comprobaciones (¿Este subproceso no tiene dev env? Reutiliza el estático). Y estas comprobaciones solo deben ejecutarse dentro de las pruebas de JUnit ... (que pregunté antes: "¿Cómo puedo averiguar si el código se ejecuta dentro de una prueba JUnit o no?" - No puedo publicar el enlace directamente aquí: - |)
Considere también el uso de variables de entorno, accedidas en código a través de, por ejemplo, 'String runLevel = System.getenv (" RUN_LEVEL ");'. Ese mecanismo * independiente del idioma es popular para permitir que su programa tenga diferentes parámetros de configuración en diferentes entornos (desarrollo, prueba, integración, CI, producción, etc.) – gb96