Introducción al contract testing con Pact (y otros invitados)


Detalles
Taller + debate relajado en el que nos introduciremos al mundo del contract testing con un ejemplo concreto utilizando Pact (trabajaremos en JS pero también veremos ejemplos en otros lenguajes).
El objetivo principal de este taller no es hacerse un experto en el uso de Pact sino comprender en qué consiste la propuesta de Consumer Driven Contract testing que plantea, entendiendo cuál es el problema que resuelve, en qué contextos tiene sentido y con qué otras herramientas/prácticas se complementa.
No es obligatorio pero, los asistentes que quieran traer su portátil, podrán instalar y probar un ejemplo sencillo de PACT en el que, a través, de varios pasos, entenderemos el flujo de desarrollo con tests de contrato “Consumer Driven”.
WARNING: si piensas participar activamente trae preparada tu máquina con este repo: https://github.com/DiUS/pact-workshop-js
Con tener node y ejecutar npm/yarn install ya es suficiente.
Además de hablar de Pact, complementaremos el taller con ejemplos concretos de otras herramientas/prácticas como:
Spring Cloud Contract: alternativa a Pact
Dredd: automatizar la validación de la especificación de un API
Record&Playback tests: Integration testing con herramientas que permiten grabar peticiones
Otros
La idea principal es que el debate vaya por dónde los asistentes queramos llevarlo. Seguro que se hablará de E2E/Contract/Integration testing, CI/CD, estrategias de branching, distribución y comunicación entre equipos o contextos en los que no aplican estas propuestas.
Seguro que no da tiempo a profundizar en muchos temas pero para eso tenemos todo el fin de semana alrededor de la Bilbostack. Como decía Koldo en el tuit con el que empezó todo: https://twitter.com/koldo/status/1214579257747357696 No todo va a ser poteo :)
FACILITADORES: Alberto Gualis y Dani Latorre (featuring Aritz Águila y cualquier otro asistente que quiera aportar con su experiencia en el tema).
EXTRAS: Lookiero nos deja sus oficinas y nos invitará a unas bebidas y a algo para picar.
Además, algunas personas nos quedaremos después a tomar algo por la zona para quien se quiera apuntar (previa al Bilbostack).
REFERENCIAS:
Contract testing:
https://docs.pact.io/
https://spring.io/projects/spring-cloud-contract
https://www.youtube.com/watch?v=jtc9zSQ6NFs
https://github.com/DiUS/pact-workshop-js
Record&Playback:
JVM: http://wiremock.org/
JS: https://medium.com/@skju/record-playback-vcr-testing-approach-e288438be044
Ruby: https://relishapp.com/vcr/vcr/docs
API Description Testing (API Specification validation):
https://dredd.org/en/latest/
https://www.normacomics.com/juez-dredd-los-archivos-completos-01-edicion-integral.html

Introducción al contract testing con Pact (y otros invitados)