Шаги очистки для сценариев огурца

Есть ли способ определить шаги очистки для всех сценариев для функции в Cucumber? Я знаю, что Background используется для определения шагов настройки для каждого последующего сценария, но есть ли способ определить что-то подобное в конце каждого сценария?

Ответ 1

Вы можете использовать After hook, который будет запускаться после каждого сценария:

After do
  ## teardown code
end

Кроме того, перед перехватом, который позволит вам настроить состояние и/или тестовые данные до сценария:

Before do
  ## setup code
end

Крючки Before и After обеспечивают функциональность setup и teardown от Test::Unit, и они обычно расположены в hooks.rb в каталоге features/support.

Ответ 2

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

Если вы хотите, чтобы установка и отключение выполнялись всего за несколько тестовых мест (сгруппированы по тегам), вам нужно использовать taggedHooks, где синтаксис

Before('@cucumis, @sativus') do
# This will only run before scenarios tagged
# with @cucumis OR @sativus.
end


AfterStep('@cucumis', '@sativus') do
# This will only run after steps within scenarios tagged
# with @cucumis AND @sativus.
end

Для получения дополнительной информации: https://github.com/cucumber/cucumber/wiki/Hooks