Aunque ejecutar los tests de un proyecto Rails en Hudson es muy sencillo y no necesita nada especial, hacer que Hudson entienda lo que Rails (Test::Unit, en realidad) está haciendo es otra cosa.
Para poder ver un gráfico como el que tienen nuestros proyectos Java (JUnit, en realidad), hace falta un poco de grasa para suavizar la relación.
Para esto, existe el plugin de rails ci_reporter, que traduce los resultados de Test::Unit
a algo que Hudson puede entender… el formato XML de junit.
Para una aplicación Rails de toda la vida habrá que hacer tres cosas:
- Instalar el plugin
gem install ci_reporter
(Si no usas rvm entonces seguramente tengas que poner un sudo
delante).
- Añadir 3 líneas a nuestro
Rakefile
require 'rubygems'
gem 'ci_reporter'
require 'ci/reporter/rake/test_unit'
- Ejecutar la tarea
ci:setup:testunit
antes de las pruebas
rake ci:setup:testunit test
Estos comandos son por defecto_, para pruebas con Test::Unit
. Si usamos otro framework, cambian. La documentación originalreporter/ lo explica bien.
Por defecto, los informes de las pruebas se generan en test/reports/
dentro del proyecto. Sólo hay que indicarle a Hudson que los lea tocando la configuración del proyecto.
Y acordarse de cambiar el comando para que invoque a ci_reporter
en cada ejecución:
Listo, ejecuta un par de builds para poder ver el gráfico… ¡y a otra cosa!