class Lopata::Configuration
Stores runtime configuration information
@see Lopata.configure
@see Lopata.configuration
Attributes
@private
@private
@return [Symbol,nil] user role to be used in scenario if not specified @see Lopata::Role
@private
@return [Boolean] keep generated test data after scenarios running.
Default is false Set to true for keeping generated data. Use 'lopata --keep' modifier to set keep mode on running.
@private
@return [Hash{Symbol => String}] map or role codes to role name. @see Lopata::Role
@private
Public Class Methods
Build an object to store runtime configuration options and set defaults
# File lib/lopata/configuration.rb, line 8 def initialize @before_start_hooks = [] @before_scenario_steps = [] @after_scenario_steps = [] @observers = [Lopata::Observers::ConsoleOutputObserver.new] @role_descriptions = {} @env = :qa end
Public Instance Methods
Add an observer to the set Lopata
to be used for this run.
@param observer [Lopata::Observers::BaseObserver] a observer instance.
@see Lopata::Observers::BaseObserver
# File lib/lopata/configuration.rb, line 76 def add_observer(observer) @observers << observer end
Defines 'after scenario' steps. Given steps will be runned after each scenario in context of scenario. It may be shared step names, and|or block.
@example
Lopata.configure do |c| c.after_scenario 'cleanup test user' end
@param steps [Array<String>] name of shared steps @param block [Proc] block of code
# File lib/lopata/configuration.rb, line 63 def after_scenario(*steps, &block) after_scenario_steps.append(*steps) unless steps.empty? after_scenario_steps.append(block) if block_given? end
Defines 'before scenario' steps. Given steps will be runned before each scenario in context of scenario. It may be shared step names, and|or block.
@example
Lopata.configure do |c| c.before_scenario 'setup test user' end
@param steps [Array<String>] name of shared steps @param block [Proc] block of code
# File lib/lopata/configuration.rb, line 47 def before_scenario(*steps, &block) before_scenario_steps.append(*steps) unless steps.empty? before_scenario_steps.append(block) if block_given? end
Add the hook to be called before scenarios running The block will be called after framework initialization and before scenarios parsing. It usually allow to require and initialize the libraries used for project testing.
@example
Lopata.configure do |c| c.before_start do require 'active_record' end end
# File lib/lopata/configuration.rb, line 27 def before_start(&block) @before_start_hooks << block end
@private
# File lib/lopata/configuration.rb, line 84 def filters @filters ||= [] end
@private
# File lib/lopata/configuration.rb, line 92 def init_lopata_logging(url, project_code, build_number) require 'lopata/observers/web_logger' self.web_logging_params = { url: url, project_code: project_code, build_number: build_number } add_observer Lopata::Observers::WebLogger.new end
@private
# File lib/lopata/configuration.rb, line 122 def load_environment self.environment = Lopata::Environment.new(env) end
@private
# File lib/lopata/configuration.rb, line 32 def run_before_start_hooks @before_start_hooks.each(&:call) end