-
Notifications
You must be signed in to change notification settings - Fork 8
Capybara
Dans cette section, vous allez devoir indiquer comment tester les différentes étapes d'un scénario (ce que vous n'aviez pas eu à faire dans le scénario précédent puisque vous aviez copié-collé toutes les étapes d'un autre scénario en changeant seulement les données).
Maintenant que vous avez bien compris le cycle du TDD, nous pouvons nous en écarter temporairement : nous allons tester une fonctionnalité existante (#33
:Assign a new topic to an item
). Cela vous permettra de voir tout de suite si vos tests sont bien écrits.
-
Créez une nouvelle branche
feature-33
à partir de la branche maître (v7
) :git checkout v7 git checkout -b test-33
-
Faites une copie de
features/attribute_set.feature
en tant quefeatures/topic_assign.feature
. Ne gardez qu'un seul scénario et adaptez le pour décrire l'item non plus avec un attribut mais avec une rubrique existante (par exempleMonture en chef d'œuvre
du point de vueHistoire de l'art
). Pour éviter un petit bug de Cucumber, remplacez dans les textes les apostrophes droites'
par des apostrophes courbes‘
. -
Lancez le test :
cucumber features/topic_assign.feature
Les étapes déjà définies sont exécutées. Par contre, Cucumber vous donne le squelette des deux étapes à définir.
-
Pour le
Alors
:- Copiez le squelette du
Alors
dansfeatures/step_definition/outcome.rb
, - Remplacez le nom du paramètre (
|string|
) pour qu'il soit plus explicite (|topic|
), - Cherchez s'il n'y a pas une étape existante qui serait synonyme, vérifiez que les opérations Capybara correspondent bien à la manière la plus simple de vérifier le résultat,
- Supprimez donc le squelette que vous avez ajouté et modifiez la dernière étape de votre scénario pour réutiliser l'étape existante.
- Copiez le squelette du
-
Pour le
Quand
:- Copiez le squelette du
Quand
dansfeatures/step_definition/event.rb
, - Remplacez les noms des paramètres (
|string, string|
) pour qu'ils soient plus explicites, - Il n'y a pas d'étape synonyme... Par contre l'ajout d'une rubrique ressemble un peu à l'ajout d'un attribut. Copiez l'étape et adaptez la.
- Lancez le test. Ça semble fonctionner cependant faites le test à la main. À quelle étape, vous arrêtez-vous ?
- Corrigez le
Alors
en étant plus précis. Vérifiez que le test échoue. - Ajoutez une action à votre scénario. Vérifiez que le test réussit.
- Bravo ! Faites de votre test une contribution, publiez la et demandez son intégration.
- Vous pouvez comparer votre solution avec le corrigé fourni.
- Copiez le squelette du