Сценарии огурца для очень длительного рабочего процесса - PullRequest
8 голосов
/ 04 февраля 2011

Нам нужно протестировать длинный процесс для одной функции.От входа в систему до многих модальных диалогов, многошаговых форм и пользователей разных ролей - все это взаимодействует.Как мы можем разбить части этого процесса на отдельные сценарии?

Вот пример:

Scenario: New Manuscript
  Given I am on the manuscripts page
  When I press "Submit A New Manuscript"
  Then I should see "Please specify this manuscript's type"

Scenario: Choose Manuscript Type
  Given I am choosing a manuscript type
  When I click "Original Paper"
  Then I should see "Edit Manuscript Details"

Scenario: Edit Manuscript Details
  Given I am editing manuscript details
  And I am on the editing page
  When I fill in "Manuscript Title" with "Testing Story"
  Then I should see "Suggest Reviewers"

И так далее и так далее для десятков сценариев.Проблема в том, что каждый сценарий построен на основе последнего.Как я могу протестировать каждый сценарий в отдельности, не повторяя все предыдущие?

1 Ответ

9 голосов
/ 04 февраля 2011

Сценарии должны быть автономными, поэтому вы можете создать фоновый процесс установки, который настраивает базовую рукопись, которую вы можете использовать в различных сценариях:

Feature: ...
  Background:
    Given a single manuscript exists

  Scenario: ...

  Scenario: ...

  Scenario: ...

Если вы действительно строите предыдущий шаг и полностью зависите от него, создайте один сценарий:

Scenario: Manuscript flow
  Given I am on the manuscripts page
  When I press "Submit A New Manuscript"
  Then I should see "Please specify this manuscript's type"

  Given I am choosing a manuscript type
  When I click "Original Paper"
  Then I should see "Edit Manuscript Details"

  Given I am editing manuscript details
  And I am on the editing page
  When I fill in "Manuscript Title" with "Testing Story"
  Then I should see "Suggest Reviewers"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...