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

- (Exception?) exception

Returns The failure, if there was one.

Returns:

  • (Exception, nil)

    The failure, if there was one.

529
530
531
# File 'lib/rspec/core/example.rb', line 529
def exception
  @exception
end

- (Time) finished_at

Returns When the example finished.

Returns:

  • (Time)

    When the example finished.

535
536
537
# File 'lib/rspec/core/example.rb', line 535
def finished_at
  @finished_at
end

- (Exception?) pending_exception

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.

548
549
550
# File 'lib/rspec/core/example.rb', line 548
def pending_exception
  @pending_exception
end

- (Boolean) pending_fixed Also known as: pending_fixed?

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.

552
553
554
# File 'lib/rspec/core/example.rb', line 552
def pending_fixed
  @pending_fixed
end

- (String?) pending_message

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.

542
543
544
# File 'lib/rspec/core/example.rb', line 542
def pending_message
  @pending_message
end

- (Float) run_time

Returns How long the example took in seconds.

Returns:

  • (Float)

    How long the example took in seconds.

538
539
540
# File 'lib/rspec/core/example.rb', line 538
def run_time
  @run_time
end

- (Time) started_at

Returns When the example started.

Returns:

  • (Time)

    When the example started.

532
533
534
# File 'lib/rspec/core/example.rb', line 532
def started_at
  @started_at
end

- (Symbol) status

Returns :passed, :failed or :pending.

Returns:

  • (Symbol)

    :passed, :failed or :pending.

526
527
528
# File 'lib/rspec/core/example.rb', line 526
def status
  @status
end

Instance Method Details

- (Boolean) example_skipped?

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.

561
562
563
# File 'lib/rspec/core/example.rb', line 561
def example_skipped?
  status == :pending && !pending_exception
end

- (void) record_finished(status, finished_at)

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.

567
568
569
570
571
# File 'lib/rspec/core/example.rb', line 567
def record_finished(status, finished_at)
  self.status      = status
  self.finished_at = finished_at
  self.run_time    = (finished_at - started_at).to_f
end