Существуют некоторая документация «глобальных крючки» на https://github.com/cucumber/cucumber/wiki/Hooks
Вам не нужно обернуть его в каком-либо специальном способе, таким как Before
или at_exit
. Вы просто выполняете код на корневом уровне в любом файле, содержащемся в каталоге features/support
, например env.rb
. Для того, чтобы скопировать и вставить пример они дали:
# these following lines are executed at the root scope,
# accomplishing the same thing that an "at_start" block might.
my_heavy_object = HeavyObject.new
my_heavy_object.do_it
# other hooks can be defined in the same file
at_exit do
my_heavy_object.undo_it
end
Они также дают пример того, как написать Before
блок, который запускается на выполнение только один раз. В принципе, у вас есть этот выход блока, если определена какая-либо глобальная переменная. При первом запуске блока определяется глобальная переменная, которая предотвращает ее выполнение несколько раз. См. Раздел «Запуск до перехвата только один раз» на той странице, с которой я связан.