Ruby: A short summary of available hooks in Cucumber
Here is a short summary of Cucumber hooks in Ruby taken from https://github.com/cucumber/cucumber-ruby. Note that the
BeforeStep is currently not existing in the Ruby implementation of Cucumber.
Before hooks run before the first step of each scenario.
Before do |scenario| ... end
After hooks run after the last step of each scenario, even when the step result is
After do |scenario| ... end
Around do |scenario, block| ... block.call ... end
AfterStep do |scenario| ... end
You can restrict the hooks to one or more tags:
Before("@slow") do |scenario| ... end
A global hook will run once before any scenario is run.
# env.rb ...
AfterConfiguration hooks will run only once after support has been loaded, and before any features are loaded.
AfterConfiguration do |config| ... end
You can include code to Cucumber in the
World module without polluting the application namespace (example from https://jam.cucumber.io/):
module Helpers def helper_method 42 end end World(Helpers)
Then /^the helper method is called$/ do expect(helper_method).to eql(42) end