33 votes

Pourquoi devrais-je utiliser RSpec ou shoulda avec Rails ?

Je suis en train de mettre en place une application rails et je viens de finir de faire quelques tests unitaires et mon ami m'a dit qu'apparemment les fixtures ne sont plus cool et que les gens utilisent maintenant RSpec ou shoulda. Je me demande quels sont les avantages réels d'utiliser ces autres boîtes à outils. Toute information est la bienvenue.

-fREW

22voto

webmat Points 13359

Je préfère personnellement Shoulda à RSpec. Je trouve que Shoulda a moins de syntaxe magique que RSpec. Mon problème avec RSpec est que oui, c'est très lisible quand je le lis à haute voix, mais quand j'arrive à l'écrire, hmmmm, je ne suis jamais sûr comment une assertion donnée doit être rédigée. Prag Dave explique le problème mieux que moi . Il a également likes Shoulda et présente quelques exemples.

17voto

Aaron Jensen Points 2751

RSpec et les frameworks similaires sont des outils conçus pour faciliter le développement guidé par le comportement. Il ne s'agit pas seulement d'un moyen plus joli d'écrire des tests, bien qu'ils y contribuent.

Vous trouverez de nombreuses informations sur le BDD ici : http://behaviour-driven.org/ Et wikipedia : http://en.wikipedia.org/wiki/Behavior_Driven_Development

Il y a trop d'avantages à énumérer ici, je vous recommande donc de naviguer un peu sur ce site.

7voto

domgblackwell Points 2333

Il y a deux choses différentes ici :

La première chose est de savoir quel cadre utiliser pour écrire les tests/spécifications. Ici, vous pouvez choisir entre Test::Unit, RSpec, Shoulda, etc. Le choix est de savoir si vous voulez faire du TDD traditionnel (Test::Unit) ou si vous préférez les autres manières de penser à la spécification du comportement préconisées par des développeurs tels que David Chemlinsky (RSpec et, dans une certaine mesure, Shoulda).

La deuxième chose est de savoir comment traiter les données de test. Il existe des fixtures Rails et des alternatives conçues avec d'autres objectifs, comme par exemple le plugin FixtureReplacement . Avant Rails 2.0, les fixations présentaient des problèmes pratiques importants et bien documentés. La plupart de ces problèmes pratiques ont été corrigés dans Rails 2.0. Cependant, les fixtures peuvent conduire à un couplage de tests par inadvertance et certaines des alternatives tentent d'éviter cela.

4voto

Loren Segal Points 2235

RSpec est bien plus puissant car il est bien plus facile d'y lire et d'y écrire des tests. Il est également très élégant lorsqu'il utilise les mocks et les stubs, un concept qui deviendra extrêmement utile lorsque vous commencerez à les utiliser dans vos tests. Essayez-le dans une application de test simple (NON RAILS !) et vous verrez à quel point vos spécifications sont élégantes par rapport aux tests standard équivalents.

4voto

Mike Breen Points 1434

Regardez l'article de Josh Susser Le grand bal des cadres de test pour une comparaison des cadres de test Ruby les plus populaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X