class Spinach::Reporter

Spinach reporter collects information from Runner hooks and outputs the results

Attributes

current_feature[R]

A Hash with options for the reporter

current_scenario[R]

A Hash with options for the reporter

error_steps[R]
failed_steps[R]
options[R]

A Hash with options for the reporter

pending_steps[R]
successful_steps[R]
undefined_features[R]
undefined_steps[R]

Public Class Methods

new(options = {}) click to toggle source

Initialize a reporter with an empty error container.

# File lib/spinach/reporter.rb, line 10
def initialize(options = {})
  @errors = []
  @options = options
  @orderer = options[:orderer]
  @undefined_features = []
  @successful_steps = []
  @undefined_steps = []
  @failed_steps = []
  @error_steps = []
  @pending_steps = []
end

Public Instance Methods

after_feature_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 56
def after_feature_run(*args); end
after_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 54
def after_run(*args); end
after_scenario_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 62
def after_scenario_run(*args); end
around_scenario_run(*args) { || ... } click to toggle source
# File lib/spinach/reporter.rb, line 59
def around_scenario_run(*args)
  yield
end
before_feature_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 55
def before_feature_run(*args); end
before_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 53
def before_run(*args); end
before_scenario_run(*args) click to toggle source
# File lib/spinach/reporter.rb, line 58
def before_scenario_run(*args); end
bind() click to toggle source

Hooks the reporter to the runner endpoints

# File lib/spinach/reporter.rb, line 29
def bind
  Spinach.hooks.tap do |hooks|
    hooks.before_run { |*args| before_run(*args) }
    hooks.after_run { |*args| after_run(*args) }
    hooks.before_feature { |*args| before_feature_run(*args) }
    hooks.after_feature { |*args| after_feature_run(*args) }
    hooks.on_undefined_feature { |*args| on_feature_not_found(*args) }
    hooks.before_scenario { |*args| before_scenario_run(*args) }
    hooks.around_scenario { |*args, &block| around_scenario_run(*args, &block) }
    hooks.after_scenario { |*args| after_scenario_run(*args) }
    hooks.on_successful_step { |*args| on_successful_step(*args) }
    hooks.on_undefined_step { |*args| on_undefined_step(*args) }
    hooks.on_pending_step { |*args| on_pending_step(*args) }
    hooks.on_failed_step { |*args| on_failed_step(*args) }
    hooks.on_error_step { |*args| on_error_step(*args) }
    hooks.on_skipped_step { |*args| on_skipped_step(*args) }

    hooks.before_feature { |*args| set_current_feature(*args) }
    hooks.after_feature { |*args| clear_current_feature(*args) }
    hooks.before_scenario { |*args| set_current_scenario(args.first) }
    hooks.after_scenario { |*args| clear_current_scenario(args.first) }
  end
end
clear_current_feature(*args) click to toggle source

Clears this current feature

# File lib/spinach/reporter.rb, line 79
def clear_current_feature(*args)
  @current_feature = nil
end
clear_current_scenario(*args) click to toggle source

Clears this current scenario

# File lib/spinach/reporter.rb, line 92
def clear_current_scenario(*args)
  @current_scenario = nil
end
on_error_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 65
def on_error_step(*args); end
on_failed_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 64
def on_failed_step(*args); end
on_feature_not_found(*args) click to toggle source
# File lib/spinach/reporter.rb, line 57
def on_feature_not_found(*args); end
on_pending_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 67
def on_pending_step(*args); end
on_skipped_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 68
def on_skipped_step(*args); end
on_successful_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 63
def on_successful_step(*args); end
on_undefined_step(*args) click to toggle source
# File lib/spinach/reporter.rb, line 66
def on_undefined_step(*args); end
set_current_feature(feature) click to toggle source

Stores the current feature

@param [Feature]

The feature.
# File lib/spinach/reporter.rb, line 74
def set_current_feature(feature)
  @current_feature = feature
end
set_current_scenario(scenario) click to toggle source

Stores the current scenario

@param [Hash]

the data for this scenario
# File lib/spinach/reporter.rb, line 87
def set_current_scenario(scenario)
  @current_scenario = scenario
end