Cetriolo: come rimuovere la duplicazione dei dati da questo scenario gherkin?
-
27-10-2019 - |
Domanda
Ho il seguente scenario Gherkin:
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 seconda riga passa l'indirizzo e -mail e la password a una definizione di passaggio che a sua volta passa questi dettagli a una fabbrica di fabbrica.
Fondamentalmente, non sono sicuro di come rimuovere questa duplicazione dei dati da questo scenario, ho pensato di usare le tabelle ma non riesco a vedere come ciò sarebbe d'aiuto, qualcuno ha qualche idea su come farlo? Grazie in anticipo!
Soluzione
È possibile utilizzare una tabella simile a una vestibilità per i tuoi campi e-mail e password, come usano nell'esempio 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 |
Altri suggerimenti
Il modello che utilizziamo è per i dettagli astratti che sono comuni in diversi scenari ...
Given my user exists
And I am on the login page
When I login with my credentials
Then I should ....
Abbiamo quindi un file YAML con valori predefiniti come nome utente valido, password valida, password non valida ... i nostri passaggi chiamano in questo file.
L'altra risposta è meglio se vuoi provare molti esempi, penso che il nostro funzioni in cui vuoi accedere spesso, ma non sempre specificare cose "noiose" in ogni scenario.