2016-07-25 2 views
0

Есть ли тестовый крючок для рубинового огурца для at_start? Я пробовал at_start, и это не сработало.Есть ли тестовый крючок для рубинового огурца для at_start?

У меня есть что-то подобное в support/hooks.rb, и я хочу, чтобы напечатать один глобальное сообщение перед любым из тестов начать:

Before do 
    print '.' 
end 

at_exit do 
    puts '' 
    puts 'All Cucumber tests finished.' 
end 

Похоже, если у них есть at_exit крючка, они должны иметь before-start крюк а также правильно?

ответ

2

Существуют некоторая документация «глобальных крючки» на 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 блок, который запускается на выполнение только один раз. В принципе, у вас есть этот выход блока, если определена какая-либо глобальная переменная. При первом запуске блока определяется глобальная переменная, которая предотвращает ее выполнение несколько раз. См. Раздел «Запуск до перехвата только один раз» на той странице, с которой я связан.