Notificaciones de Autospec en Gnome
Últimamente ando muy metido en TDD y ya que he conseguido echar a andar las notificaciones de autospec con Ubuntu (Jaunty 9.04) me gustaría compartirlo por aquí porque el post en el que lo encontré ya no está disponible.
Uso XFCE pero debe funcionar igualmente con Gnome. Este es un screenshot del resultado final:

autospec notification XFCE/Gnome
En primer lugar, necesitas la gema ZenTest. Probablemente ya la tengas:
$ sudo gem install ZenTest $ sudo gem install redgreen
Ahora instala el paquete libnotify-bin:
$ sudo apt-get install libnotify-bin
Y aquí está el truco, crea un fichero llamado ~/.autotest con esto:
#!/bin/ruby require 'redgreen' require 'autotest/timestamp' module Autotest::GnomeNotify def self.notify title, msg, img system "notify-send '#{title}' '#{msg}' -i #{img} -t 3000" end Autotest.add_hook :ran_command do |at| image_root = "~/.autotest_images" results = [at.results].flatten.join("\n") results.gsub!(/\\e\[\d+m/,'') output = results.slice(/(\d+)\sexamples?,\s(\d+)\sfailures?(,\s(\d+)\spending?|)/) full_sentence, green, failures, garbage, pending = $~.to_a.map(&:to_i) if output if failures > 0 notify "FAIL", "#{output}", "#{image_root}/fail.png" elsif pending > 0 notify "Pending", "#{output}", "#{image_root}/pending.png" else notify "Pass", "#{output}", "#{image_root}/pass.png" end end end end
Como puedes ver uso fail.png y pass.png para añadir esos smiles. Puedes descargarlos aquí y copiarlos a ~/.autotest_images/.
Haz que tus tests sean de color verde y pilla una cerveza : )
Update: Añadida la gema redgreen y cambiado “require redgreen” como sugirieron Rodigo Flores y rakk. Gracias!
Update: Corregido > escapado por error en el código. Gracias a Martin y Hunter por los comentarios.
Update: El script ahora soporta ejemplos pendientes. Gracias a Andy.
Update: Eliminado un end que sobraba. Gracias a Andy de nuevo.
English
Español