Огурец: когда использовать теги / крючки против фона - PullRequest
8 голосов
/ 03 апреля 2012

Мне было интересно, есть ли хороший аргумент за или против использования фонов в огурце по сравнению с использованием тегов и хуков.

Если вошедший в систему пользователь до начала теста может пойти так:

Background:
  Given that I am logged in
Scenario: Lorem ipsum sit amet dolor
[...]

или как это:

@login
Scenario: Lorem ipsum sit amet dolor
[...]

+

before(@login) do
  visit('/admin/login/testuser')
end

Есть идеи, когда отдавать предпочтение одному над другим?

Ответы [ 2 ]

9 голосов
/ 03 апреля 2012

Background полезно, когда вы предоставляете общий читаемый (не технический) фон для вашего сценария.Это стоит использовать, если вы хотите, чтобы было явно указано об этой инициализации в тексте вашей функции .

Но иногда логика разрыва (и настройки) представляет собой детали реализации и реализуется в Before, After или Around перехватчики (потому что читателю вашей спецификации не нужно знать об этих технических вещах).

Сводка : используйте Background, если вы хотите сообщитьчитатель вашей спецификации фона и использование хуков, когда фон - это детали реализации.

В вашем примере Фон - лучший выбор.

4 голосов
/ 03 апреля 2012

Определенно первый (ИМХО), поскольку он фиксирует все в универсально читаемом файле объектов Gherkin.Теги на самом деле существуют только для того, чтобы помочь бегунам - они являются уровнем реализации.То, что вы описываете здесь, является частью описания того, что происходит.

...