Rails su OSX: Autotest + Growl
Affascinato dalla presentazione di Gregg Pollack di RailsEnvy.com ho deciso di lanciarmi nel mondo di Rspec con Autotest!
Per partire ultra-comodo l’ho integrato col Growl di modo che so quando la unit passa/fallisce i test senza tenere d’occhio il terminale.
Se non hai Autotest e t’intriga l’idea:
$ sudo gem install ZenTest
Da qui scarichi Growl .
Installato Growl per installare il GrowlNotify:
- apri il terminale
$ cd /Volumes/{la directory dell'immagine di growl}/Extras/growlnotify
$ sudo ./install.sh
in ogni caso qui trovi un link alla guida di installazione di growlnotify
poi inserisci questo script nel file ~/.autotest:
"~/Library/autotest"
end
Autotest.add_hook :ran_command do |at|
result = at.results.last
unless result.nil?
output = result.slice(/, (\d+\s\w+)/)
puts "\n"
# puts "\n--Out: #{output} \n--\n"
case output
when /[1-9]/ : status, priority = "fail", "High"
when /0/ : status, priority = "pass", "Normal"
else
status, priority = "error", "Moderate"
output = "nil"
end
growl_notify status, "Test Results", output.gsub(", ", ""), "/rails_.png", priority #, '-s'
end
end
status, title, out, img, pri=0, stick=""
system "growlnotify -n autotest_ --image -p -m '' "
# growlnotify -n autotest_pass --image ~/Library/autotest/rails_pass.png -m 'test'
end
end
queste sono le icone che uso gentilmente offerte da blog.InternautDesign.com

piazzale nella directory image_dir dello script “~/Library/autotest” (va creata prima)
Ora puoi entrare nella directory della tua app e lanciare il comando:
$ autotest
(se è andato tutto bene) apparirà la notifica Growl (di default è un baloon celeste in alto a destra):

o (molto più probabilmente, almeno nel mio caso) questa:

quando falliscono i test.
Per cambiare le impostazioni della notifica Growl basta andare nelle Preferenze di Sistema > Growl

Poi quando sono stati lanciati almeno una volta, gli eventi appariranno in Growl > Applications

Selezionandone uno e cliccando su Configure… puoi impostare i vari settings ( questi sono quelli dello screencast di Gregg Pollack :-] )

Spero che gli esempi-guida vi siano stati di aiuto, per qualsiasi cosa lasciate un commento.
Buon (Auto)Testing!
Edit: Aggiornato lo script per supportare la nuova versione di ZenTest (3.9.2)


Che figata. Queste sono le cose che mi ricordano quanto sono fortunato a usare un mac