Shiny happy people coding

Codons avec le sourire

Cucumber>=0.3.4 et Merb. La dure cohabitation

| Comments

Depuis la sortie de Cucumber 0.3.4 et pour les versions suivantes, une grosse modification dans Cucumber impose de changer un peu son utilisation avec Merb. En effet, si on peux lire dans le History.txt de Cucumber :

** IMPORTANT UPGRADE NOTES FOR RAILS USERS ** Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work, so you have to explicitly tell the task to fork (like it was doing by default in prior versions). In lib/tasks/cucumber.rake: Cucumber::Rake::Task.new(:features) do |t| t.fork = true # Explicitly fork t.cucumber_opts = %w{--format pretty} end (If you run script/generate cucumber this will be done for you). Alternatively you can omit forking and run features like this: RAILS_ENV=test rake features However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.

Cela est aussi vrai pour les utilisateurs de Merb. En général pour les utilisateurs de Merb, vous avez utilisé le plugin merb_cucumber de Roman. Hélas celui-ci a un générateur incomplet à l'heure actuel. En effet, la tâche rake features n'utilise pas les bonnes options pour cucumber.

Après un long et rude combat avec cucumber, j'ai fini par trouver les options adéquates pour avoir le même comportement que pour les précédentes version de Cucumber. Pour voir un exemple en "live" sur une application, vous pouvez regarder mon commit sur Oupsnow. Sinon, j'ai forké le merb_cucumber de roman, et ajouter un patch pour permettre l'utilisation de Cucumber 0.3.4 et plus

EDIT : Mes modifications de merb_cucumber ont été intégré dans la branche de Roman

English translation