Cucumber Suite Hooks
Adding hooks that run before and after your RSpec test suite looks like this:
# spec/helper/spec_helper.rb RSpec.configure do |config| config.before(:suite) do My::Service.build! end config.after(:suite) do My::Service.tear_down! end end
But for Cucumber, the API isn't quite as obvious. I found some interesting discussion online about this subject, and eventually settled on the following:
# features/support/env.rb My::Service.build! at_exit do My::Service.tear_down! end
features/support/env.rb gets run before the Cucumber test suite, so the first method call functions like a before suite block.
at_exit is Ruby Kernel and runs when the program exits. This implementation works roughly the same as a before and after block.