Можно ли использовать сценарий огурца в качестве функции? - PullRequest
0 голосов
/ 11 апреля 2011

Что-то вроде:

Scenario: Create a Test Category
  Given I am on the regression test test cases page
  When I follow "New Category"
  And I fill in "Name" with "Test Category"
  And I press "Add Category"
  Then I should see "Test Category" within ".test-categories-list"

Scenario: Add a Test Case
  Given I "Create a Test Category"

Я бы хотел пошаговую процедуру создания категории теста, а затем создания контрольного примера. Возможно ли это, не выполняя «Учитывая, что я создал тестовую категорию», а затем выполняя на ней Фабрику?

1 Ответ

0 голосов
/ 11 апреля 2011

Это ситуация, когда вы должны обращаться с тестовым кодом точно так же, как с рабочим кодом, и инкапсулировать его в класс.Затем вы можете легко использовать его везде, где вам это нужно.

Для иллюстрации:

class TestCategory
  def create(values)
    follow_new_category
    fill_in_name
    press_add
  end

  def follow_new_category
  end

  def fill_in_name
  end

  def press_add
  end
end

Затем вы можете вызывать эти методы из своих шагов:* (Возможно, вы захотите управлять жизненным циклом класса TestCategory другим способом, а не создавать новый каждый раз ...)

Тем не менее, ваши шаги достаточно обязательны, что не считается хорошей практикой.Было бы лучше, если бы он сказал что-то вроде этого:

Scenario: Create a Test Category
  Given I am on the regression test test cases page
  When I add a test category
  Then I should see "Test Category" within ".test-categories-list"

Тогда вам не нужно разбивать код поддержки на множество мельчайших методов.

...