2011-05-03 16 views
5

Tengo dos aplicaciones de grails, A y B.¿Prueba de integración de dos aplicaciones web Grails a la vez?

A realiza llamadas REST explícitas al B, y me gustaría obtener una forma automática de saber que esto funciona. En el modelo tradicional de prueba de integración de Grails, solo se saca una instancia a la vez. Estoy usando jenkins como mi servidor de compilación, pero parece que necesitaría implementar ambos sistemas y ejecutar pruebas localmente, algo que no estoy seguro si jenkins admite.

¿Cuál es la mejor manera de hacer pruebas funcionales de integración completa de A usando B?

Respuesta

0

Esto no es exclusivo de Grails o incluso Jenkins, pero esto es lo que puede hacer.

Configure un servidor de prueba funcional donde pueda implementar sus aplicaciones. Cree un trabajo de Jenkins para sondear el proyecto A para cambios de SCM e impleméntelo en el servidor A, y un trabajo para sondear el proyecto B para cambios de SCM e impleméntelo en el servidor B.

Crear una compilación indirecta, C, que ejecuta pruebas funcionales contra el sistema combinado. Tenga en cuenta que probablemente no quiera arrancar ninguna de las bases de datos aquí, así que no use la fase de prueba de integración. Esto donde usarías algo como selenio. Asegúrese de bloquear las construcciones ascendentes A y B en compilaciones descendentes y el bloque C en todas las compilaciones ascendentes.

De esta manera, ningún servidor se vuelve a implementar en el medio de una prueba.

En cuanto a las pruebas de integración, imagina que B es como cualquier otro servicio web, como una base de datos o un servidor LDAP o algo por el estilo. Si quería una prueba de integración completa, simplemente configuraría un servidor para su ejecución de prueba y correría contra ella, ¿verdad? Hacer lo mismo. Usando su compilación B u otra compilación, cree un trabajo de prueba de integración que conozca explícitamente sobre el servidor B.

0

use jenkins para implementar sus aplicaciones en un contenedor después de compilaciones exitosas. y tiene alguna propiedad de entorno o configuración que establece la URL de la aplicación B en la aplicación A.

Cuestiones relacionadas