Concombre - Comment supprimer la duplication des données de ce scénario cornichon?
-
27-10-2019 - |
Question
Je le scénario Gherkin suivant:
Scenario: User Login
Given a user account exists the email "james.smith@somesite.com" and password "surprise"
And I am on the login page
When I fill in the following:
| email | james.smith@somesite.com |
| password | surprise |
And I press "Submit"
Then....
La deuxième ligne passe l'adresse e-mail et mot de passe à une définition de l'étape qui, à son tour passess ces détails à une usine de factorygirl.
En fait, je ne suis pas sûr de savoir comment supprimer ce duplication des données de ce scénario, je pensais à l'aide de tables, mais ne peux pas voir comment cela contribuerait, quelqu'un a des idées sur la façon de le faire? Merci à l'avance!
La solution
Vous pouvez utiliser un FIT comme table pour vos champs e-mail et mot de passe, comme ils utilisent dans l'exemple https://github.com/cucumber/cucumber/blob/master/examples/i18n/en/features/addition.feature
Scenario Outline: User Login
Given my account exists with email <email> and password <password>
And I am on the login page
When I fill the email <email>
And I fill the password <password>
And I press "Submit"
Then ...
Examples:
| email | password |
| john@doe.com | surprise |
Autres conseils
Le modèle que nous utilisons est aux détails abstraits qui sont communs à plusieurs scénarios ...
Given my user exists
And I am on the login page
When I login with my credentials
Then I should ....
Nous avons ensuite un fichier YAML avec des valeurs par défaut comme nom d'utilisateur valide, mot de passe valide, mot de passe invalide ... Nos pas appeler dans ce fichier.
L'autre réponse est mieux si vous voulez essayer beaucoup d'exemples, je pense que fonctionne le nôtre où vous voulez vous connecter souvent, mais pas toujours précise « ennuyeux » des choses dans chaque scénario.