Proyecto 6: BDD para APIs
Hace unas semanas atras, escribi un comparativo entre cucumber-jvm y jbehave. Como los de QA trajeron a una persona con experiencia en cucumber, al arquitecto le llego altamente y ha forzado a los desarrolladores a que usen cucumber-jvm.
“Los developers hacen los integration tests de los web services en Cooh-Koom-Bar JVM, y los de QA tambien hacen acceptance tests de los web services en Cooh-Koom-Bar Ruby”
-- Mr.Pelao (arquitecto)
Ojo que estamos testeando APIs (y no pantallas), asi que los tests de integracion y los de aceptance van a ser la misma cosa. O sea, en vez de test coverage, lo que teminamos haciendo es test duplication (y gastadera de tiempo y recursos).
Para complicar mas las cosas, los desarrolladores no saben ni mierda de BDD o cucumber, asi que estan cagados. Los ultimos dias, el arquitecto ha empezado a decir que usemos “Cooh-Koom-Bar Ruby” que no sabe por que estamos usando “Coo-Koom-Bar JVM” (una pista: el lo escogio).
En fin, no nos hagamos mas higado. Cucumber no es el fin del mundo (sobretodo si ya sabes Gherkin ;)). He creado un starter kit para testear APIs con cucumber-jvm. El link esta aqui (en mi github)
Componentes:
Cucumber-jvm
Gradle para el compilado
El proyecto soporta las siguientes operaciones APIs:
GET
POST
Autenticacion
Query Parameters
Request Headers
Body request via un file externo
En otras palabras, hace lo mismo que haces con el postman cuando pruebas tus APIs, pero en cucumber.
Y ya.










