2009-05-13 5 views
3

J'ai un petit projet d'essai que j'utilise pour tester les eaux pour un projet beaucoup plus vaste. J'utilise rspec sur les rails pour les tests, mais récemment regardé dans le concombre. Cela semble très bien, mais je me demande s'il existe un moyen pour que cucumber exécute mes tests de spécification, ou que rspec (autospec) exécute mes fonctions de concombre. J'ai beaucoup regardé autour de moi, mais je n'ai pas encore trouvé de conclusion solide.Est-ce que le 'concombre' peut exécuter mes tests rspec-on-rails?

Merci,

Mike

Répondre

3

Un moyen facile de le faire serait de créer une tâche Rake qui appelle les deux outils, comme cet exemple minimal:

desc 'Run rspec + cucumber' 
task :build => [:spec, :features] 

Ensuite, vous pouvez construire à la fois avec:

rake build 

RSpec et Cucumber viennent avec quelques tâches par défaut w Qui fonctionne avec Rails, mais vous pouvez customize the tasks pour répondre à vos besoins. Il y a plus d'informations sur l'écriture des tâches de rake here.

4

J'ai aussi expérimenté avec le concombre. Il prend en charge Autotest:

AUTOFEATURE=true autospec 

qui fonctionne à la fois la suite de tests & de concombre rspec en continu.

1

Dépend de ce que vous cherchez, mais la meilleure façon d'exécuter des tests de concombre avec rspec est d'utiliser navet, qui utilise exactement la même syntaxe de fonctionnalité que le concombre (la syntaxe est appelée cornichon), mais vous permet d'utiliser de la fonctionnalité de rspec. https://github.com/jnicklas/turnip.

Si vous voulez aller un peu plus loin, vous pouvez exécuter vos fonctions depuis l'intérieur des fichiers rspec _spec.rb en utilisant une gemme que nous avons créée, appelée rutabaga. Dans les deux cas, tous les tests peuvent être exécutés en exécutant rspec ou bundle exec rspec selon les besoins.