Désirant me lancer dans le BDD (comprenez behaviour driven development), il m’a semblé indispensable de trouver un équivalent de growl sous windows. Miracle, Snarl est disponible. Malheureusement, la suite rSpec, Autotest et Snarl n’est pas si facile à configurer.
En effet, on peut trouver pas mal de documentation en anglais sur le sujet mais elle n’est plus très à jour. Mettons un peu d’ordre dans tout ça.
Pour ce tutoriel nous utilisons Ruby 1.8.6 et Rails 1.2.4 (ce n’est pas obligatoire, tout devrait aussi bien fonctionner avec la 1.2.3).
Installation
La première chose à faire est d’installer rSpec. Il est possible d’installer rSpec comme gem ou comme plugin. Etant donné que nous utiliserons rSpec uniquement pour Rails nous allons l’installer comme plugin.
ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec_on_rails
Ensuite, nous avons besoin de autotest. Ce programme fait partie de la gem Zentest 3.6.1 . Pour installer:
gem install ZenTest
Puis, nous devons installer Snarl 1.6 . Pour ce faire, il suffit de "le télécharger ":http://downloads.sourceforge.net/snarlwin/snarl-1.6-setup.exe?modtime=1175966067&big_mirror=0 et de lancer l’auto-installeur.
Et enfin, le binding entre Snarl et Ruby (version 0.0.8):
gem install ruby-snarl
Voilà, pas de redgreen (qui est maintenant intégré dans ZenTest), ni de win32console (qui ne fonctionne pas avec autotest sous windows).
Configuration
Après avoir installer tout cela, il faut passer à la configuration. Il y a 2 fichiers à créer/éditer: RAILS_APP_ROOT/.autotest et RAILS_APP_ROOT/spec/spec.opts.
Dans RAILS_APP_ROOT/.autotest :
require 'snarl'
Et dans RAILS_APP_ROOT/spec/spec.opts :
—format
progress
—format
h:doc/spec.html
—loadby
mtime
—reverse
—timeout
20
—diff
Voilà, vous pouvez lancer autotest
autotest
et voir que snarl fonctionne bien.
Et les images?
En effet, où sont les icônes indiquant que les tests fonctionnent ou non? Elles se trouvent dans:
RUBY_HOME\lib\ruby\gems\1.8\gems\ruby-snarl-0.0.8\icons
Elles ne s’affichent pas car ce n’est pas le binding snarl de ruby-snarl qui est utilisé par défaut mais celui de ZenTest. Il suffit donc de copier le dossier
RUBY_HOME\lib\ruby\gems\1.8\gems\ruby-snarl-0.0.8\icons
dans
RUBY_HOME\lib\ruby\gems\1.8\gems\ZenTest-3.6.1\icons
Voilà, vous devriez avoir les images dans Snarl lorsque vous lancez autotest.
Le rapport
Vous trouverez le rapport généré par rSpec dans RAILS_APP_ROOT/doc/spec.html. Pour le placer ailleurs, changez la ligne
h:doc/spec.html
dans RAILS_APP_ROOT/spec/spec.opts .
Au stade actuel, je n’ai toujours pas réussi à obtenir la coloration du code dans la console avec autotest. Vous oui? Avez-vous eu d’autres problèmes?
0 Commentaires