Class: RSpec::Core::Example::ExecutionResult

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/core/example.rb

Overview

Represents the result of executing an example. Behaves like a hash for backwards compatibility.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#exceptionException?

Returns The failure, if there was one.

Returns:

  • (Exception, nil)

    The failure, if there was one.

[View on GitHub]

563
564
565
# File 'lib/rspec/core/example.rb', line 563

def exception
  @exception
end

#finished_atTime

Returns When the example finished.

Returns:

  • (Time)

    When the example finished.

[View on GitHub]

569
570
571
# File 'lib/rspec/core/example.rb', line 569

def finished_at
  @finished_at
end

#pending_exceptionException?

Returns The exception triggered while executing the pending example. If no exception was triggered it would no longer get a status of :pending unless it was tagged with :skip.

Returns:

  • (Exception, nil)

    The exception triggered while executing the pending example. If no exception was triggered it would no longer get a status of :pending unless it was tagged with :skip.

[View on GitHub]

582
583
584
# File 'lib/rspec/core/example.rb', line 582

def pending_exception
  @pending_exception
end

#pending_fixedBoolean

Returns For examples tagged with :pending, this indicates whether or not it now passes.

Returns:

  • (Boolean)

    For examples tagged with :pending, this indicates whether or not it now passes.

[View on GitHub]

586
587
588
# File 'lib/rspec/core/example.rb', line 586

def pending_fixed
  @pending_fixed
end

#pending_messageString?

Returns The reason the example was pending, or nil if the example was not pending.

Returns:

  • (String, nil)

    The reason the example was pending, or nil if the example was not pending.

[View on GitHub]

576
577
578
# File 'lib/rspec/core/example.rb', line 576

def pending_message
  @pending_message
end

#run_timeFloat

Returns How long the example took in seconds.

Returns:

  • (Float)

    How long the example took in seconds.

[View on GitHub]

572
573
574
# File 'lib/rspec/core/example.rb', line 572

def run_time
  @run_time
end

#started_atTime

Returns When the example started.

Returns:

  • (Time)

    When the example started.

[View on GitHub]

566
567
568
# File 'lib/rspec/core/example.rb', line 566

def started_at
  @started_at
end

#statusSymbol

Returns :passed, :failed or :pending.

Returns:

  • (Symbol)

    :passed, :failed or :pending.

[View on GitHub]

560
561
562
# File 'lib/rspec/core/example.rb', line 560

def status
  @status
end

Instance Method Details

#ensure_timing_set(clock) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Populates finished_at and run_time if it has not yet been set

[View source] [View on GitHub]

610
611
612
# File 'lib/rspec/core/example.rb', line 610

def ensure_timing_set(clock)
  calculate_run_time(clock.now) unless finished_at
end

#example_skipped?Boolean

Returns Indicates if the example was completely skipped (typically done via :skip metadata or the skip method). Skipped examples will have a :pending result. A :pending result can also come from examples that were marked as :pending, which causes them to be run, and produces a :failed result if the example passes.

Returns:

  • (Boolean)

    Indicates if the example was completely skipped (typically done via :skip metadata or the skip method). Skipped examples will have a :pending result. A :pending result can also come from examples that were marked as :pending, which causes them to be run, and produces a :failed result if the example passes.

[View source] [View on GitHub]

597
598
599
# File 'lib/rspec/core/example.rb', line 597

def example_skipped?
  status == :pending && !pending_exception
end

#pending_fixed?Boolean

Returns:

  • (Boolean)
[View source] [View on GitHub]

588
589
590
# File 'lib/rspec/core/example.rb', line 588

def pending_fixed?
  !!pending_fixed
end

#record_finished(status, finished_at) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Records the finished status of the example.

[View source] [View on GitHub]

603
604
605
606
# File 'lib/rspec/core/example.rb', line 603

def record_finished(status, finished_at)
  self.status = status
  calculate_run_time(finished_at)
end