Resumen:
Realizar TDD con Spock.
Descripción:
Debo confesar que anteriormente, no hacía Unit Test a mis programas. Aunque, reconocía la importancia y necesidad. Y como no quería las pruebas desde SaopUI, los implementé con Spock.
Sinceramente, es muy fácil escribir los test con Spock. Como indica las buenas prácticas: primero escribí la prueba, y luego el código que soporta dicha funcionalidad. El ciclo se repite hasta tener un código funcional y óptimo, porque continuamente vas depurando y mejorándolo. Por cierto, no nos olvidemos de emplear los patrones de diseño.
Entonces, como ejemplo desarrollé una librería que responda a los mensajes 0800 (echo test). El mensaje se recibe y responde en XML.
Construimos el mensaje con (Messages/TXN_FIN_REQ/TRACE,MESSAGE_TYPE). Lo enviamos al método y evaluamos el resultado (otro XML).
La implementación es en Java y xmlbeans (Apache) para parsear los mensajes. Evaluamos el tipo de mensaje y el trace recibido.
Al procesar los mensajes echo, construimos la respuesta pasándole el trace original.
Ejecutamos los test y vemos el resultado.
Código Fuente:
https://github.com/edgargs/autorizador-test.git
Bibliografía:
https://www.paradigmadigital.com/dev/testing-orientado-bdd-spock-12/
Configuración:
Groovy 2.4.13
Spock 1.0