Class: Spec::Runner::Reporter::Failure

Inherits:
Object
  • Object
show all
Defined in:
lib/spec/runner/reporter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group_description, example_description, exception) ⇒ Failure

:nodoc:



70
71
72
73
# File 'lib/spec/runner/reporter.rb', line 70

def initialize(group_description, example_description, exception)  # :nodoc:
  @example_name = "#{group_description} #{example_description}"
  @exception = exception
end

Instance Attribute Details

#exceptionObject (readonly)

The Exception object raised



76
77
78
# File 'lib/spec/runner/reporter.rb', line 76

def exception
  @exception
end

Instance Method Details

#expectation_not_met?Boolean

:nodoc:

Returns:

  • (Boolean)


103
104
105
# File 'lib/spec/runner/reporter.rb', line 103

def expectation_not_met?  # :nodoc:
  @exception.is_a?(Spec::Expectations::ExpectationNotMetError)
end

#headerObject

Header messsage for reporting this failure, including the name of the example and an indicator of the type of failure. FAILED indicates a failed expectation. FIXED indicates a pending example that passes, and no longer needs to be pending. RuntimeError indicates that a RuntimeError occured.

Examples

'A new account should have a zero balance' FAILED
'A new account should have a zero balance' FIXED
RuntimeError in 'A new account should have a zero balance'


89
90
91
92
93
94
95
96
97
# File 'lib/spec/runner/reporter.rb', line 89

def header
  if expectation_not_met?
    "'#{@example_name}' FAILED"
  elsif pending_fixed?
    "'#{@example_name}' FIXED"
  else
    "#{@exception.class.name} in '#{@example_name}'"
  end
end

#pending_fixed?Boolean

:nodoc:

Returns:

  • (Boolean)


99
100
101
# File 'lib/spec/runner/reporter.rb', line 99

def pending_fixed? # :nodoc:
  @exception.is_a?(Spec::Example::PendingExampleFixedError)
end