Before do set_env('MSF_DATBASE_CONFIG', Rails.configuration.paths['config/database'].existent.first) set_env('RAILS_ENV', 'test') @aruba_timeout_seconds = 8.minutes end # don't setup child processes to load simplecov_setup.rb if simplecov isn't installed unless Bundler.settings.without.include?(:coverage) Before do |scenario| command_name = case scenario when Cucumber::Ast::Scenario, Cucumber::Ast::ScenarioOutline "#{scenario.feature.title} #{scenario.name}" when Cucumber::Ast::OutlineTable::ExampleRow scenario_outline = scenario.scenario_outline "#{scenario_outline.feature.title} #{scenario_outline.name} #{scenario.name}" else raise TypeError, "Don't know how to extract command name from #{scenario.class}" end # Used in simplecov_setup so that each scenario has a different name and their coverage results are merged instead # of overwriting each other as 'Cucumber Features' set_env('SIMPLECOV_COMMAND_NAME', command_name) simplecov_setup_pathname = Pathname.new(__FILE__).expand_path.parent.join('simplecov_setup') # set environment variable so child processes will merge their coverage data with parent process's coverage data. set_env('RUBYOPT', "#{ENV['RUBYOPT']} -r#{simplecov_setup_pathname}") end end