module Turnip::RSpec::Execute
This module provides an improved method to run steps inside RSpec
, adding proper support for pending steps, as well as nicer backtraces.
Public Instance Methods
run_step(feature_file, step)
click to toggle source
# File lib/turnip/rspec.rb, line 42 def run_step(feature_file, step) begin instance_eval <<-EOS, feature_file, step.line step(step) EOS rescue Turnip::Pending => e example = ::RSpec.current_example example.metadata[:line_number] = step.line example.metadata[:location] = "#{example.metadata[:file_path]}:#{step.line}" if ::RSpec.configuration.raise_error_for_unimplemented_steps e.backtrace.push "#{feature_file}:#{step.line}:in `#{step.description}'" raise end skip("No such step: '#{e}'") rescue StandardError, ::RSpec::Expectations::ExpectationNotMetError => e e.backtrace.push "#{feature_file}:#{step.line}:in `#{step.description}'" raise e end end