Огурец - Как убрать дублирование данных из этого сценария Огурец? - PullRequest
3 голосов
/ 13 января 2012

У меня есть следующий сценарий 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....

Вторая строка передает адрес электронной почты и пароль определению шага, которое, в свою очередь, передает эти данные фабрике FactoryGirl.

В принципе, я не уверен, как удалить это дублирование данных из этого сценария, я думал об использовании таблиц, но не могу понять, как это могло бы помочь, у кого-нибудь есть идеи о том, как это сделать? Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 13 января 2012

Вы можете использовать FIT-подобную таблицу для полей электронной почты и пароля, как они используют в примере на 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 |
0 голосов
/ 17 января 2012

Шаблон, который мы используем, предназначен для абстрагирования деталей, общих для нескольких сценариев ...

Given my user exists
And I am on the login page
When I login with my credentials
Then I should .... 

Затем у нас есть файл yaml со значениями по умолчанию, такими как действительное имя пользователя, действительный пароль, неверный пароль ... Наши шаги вызывают этот файл.

Другой ответ лучше, если вы хотите попробовать много примеров, я думаю, что наш работает, где вы хотите часто входить в систему, но не всегда указываете "скучные" вещи в каждом сценарии.

...