Plugin de easyb para Grails 1.1

Hace unas semanas que me suscribí a la lista de correo de easyb, un framework de testing para la plataforma Java, más exactamente para realizar behavior driven development.

Pues resulta que hace unos días se anunció un plugin para integrar easyb con Grails 1.1.

Sólo he hecho alguna pequeña prueba para ir conociendo easyb, pero por lo que he leído en la lista parece que tienen la intención de que un futuro se puedan integrar el plugin de testing por defecto de Grails con easyb.

Ahora mismo, tras instalar el plugin, puedes crear tus Stories o Specifications con la sintaxis estándar de easyb, tenerlos en el mismo directorio que tus test unitarios o de integración(con el sufijo Story o Specification en vez de Tests) y al ejecutar los tests con el script de easyb se ejecutan los propios de easyb junto al resto de tests "legacy" que tengamos, por lo que nos podríamos ahorrar la traducción de los tests ya escritos.

La única pega ahora mismo, es que por defecto no es amigable con los sistemas de integración continua, al ejecutar grails test-app se da a alegir a ejecutar entre dos scripts, el de por defecto y el del plugin, aunque se puede solucionar simplemente cambiando el de easyb a otro nombre(test-app-all, easyb-test...).

Y aquí viene un ejemplo chorras de test de integración ;) :

before "initialize", {
given "CountryController", {
controller = new CountryController()
}
}
scenario "countries list", {
given "a country", {
country = new Country(name:"Spain")
country.save(flush:true)
}
when "go to index", {
countries = controller.index().countries
}
then "should have one country", {
countries.size.shouldEqual 1
}
}

Aunque creo que se entiende mejor el código XD: teniendo un controlador CountryController para todos los escenarios, con un escenario que es un listado de países, que tiene un país y cuando vamos a la acción index, entonces debería haber un país.