rSpec Autotest et Snarl

Publié le 15/10/07 par Jean-Baptiste Escoyez | 0 commentaires

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

Ajouter un commentaire

Vous devez être identifié pour poster un commentaire. Identifiez-vous, ou inscrivez-vous si ce n'est déjà fait.