Exception: RSpec::Core::MultipleExceptionError
- Inherits:
 - 
      StandardError
        
- Object
 - StandardError
 - RSpec::Core::MultipleExceptionError
 
 
- Defined in:
 - lib/rspec/core/formatters/exception_presenter.rb
 
Overview
Provides a single exception instance that provides access to
multiple sub-exceptions. This is used in situations where a single
individual spec has multiple exceptions, such as one in the it block
and one in an after block.
Instance Attribute Summary collapse
- 
  
      #aggregation_block_label  ⇒ nil 
  
      readonly
    
Provided only for interface compatibility with
RSpec::Expectations::MultipleExpectationsNotMetError. - 
  
      #aggregation_metadata  ⇒ Hash 
  
      readonly
    
Metadata used by RSpec for formatting purposes.
 - 
  
      #all_exceptions  ⇒ Array<Exception> 
  
      readonly
    
The list of failures and other exceptions, combined.
 - 
  
      #failures  ⇒ Array<Exception> 
  
      readonly
    
The list of failures.
 - 
  
      #other_errors  ⇒ Array<Exception> 
  
      readonly
    
The list of other errors.
 
Instance Method Summary collapse
- 
  
      #exception_count_description  ⇒ void 
  
    
return [String] A description of the failure/error counts.
 - 
  
      #initialize(*exceptions)  ⇒ MultipleExceptionError 
  
    constructor
    
A new instance of MultipleExceptionError.
 - 
  
      #message  ⇒ String 
  
    
Combines all the exception messages into a single string.
 - 
  
      #summary  ⇒ String 
  
    
A summary of the failure, including the block label and a count of failures.
 
Constructor Details
#initialize(*exceptions) ⇒ MultipleExceptionError
Returns a new instance of MultipleExceptionError.
      488 489 490 491 492 493 494 495 496 497 498  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 488 def initialize(*exceptions) super() @failures = [] @other_errors = [] @all_exceptions = [] @aggregation_metadata = { :hide_backtrace => true } @aggregation_block_label = nil exceptions.each { |e| add e } end  | 
  
Instance Attribute Details
#aggregation_block_label ⇒ nil (readonly)
Returns Provided only for interface compatibility with
RSpec::Expectations::MultipleExpectationsNotMetError.
      485 486 487  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 485 def aggregation_block_label @aggregation_block_label end  | 
  
#aggregation_metadata ⇒ Hash (readonly)
Returns Metadata used by RSpec for formatting purposes.
      481 482 483  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 481 def @aggregation_metadata end  | 
  
#all_exceptions ⇒ Array<Exception> (readonly)
Returns The list of failures and other exceptions, combined.
      478 479 480  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 478 def all_exceptions @all_exceptions end  | 
  
#failures ⇒ Array<Exception> (readonly)
Returns The list of failures.
      472 473 474  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 472 def failures @failures end  | 
  
#other_errors ⇒ Array<Exception> (readonly)
Returns The list of other errors.
      475 476 477  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 475 def other_errors @other_errors end  | 
  
Instance Method Details
#exception_count_description ⇒ void
return [String] A description of the failure/error counts.
      513 514 515 516 517 518  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 513 def exception_count_description failure_count = Formatters::Helpers.pluralize(failures.size, "failure") return failure_count if other_errors.empty? error_count = Formatters::Helpers.pluralize(other_errors.size, "other error") "#{failure_count} and #{error_count}" end  | 
  
#message ⇒ String
RSpec does not actually use this -- instead it formats each exception individually.
Returns Combines all the exception messages into a single string.
      503 504 505  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 503 def all_exceptions.map(&:message).join("\n\n") end  | 
  
#summary ⇒ String
Returns A summary of the failure, including the block label and a count of failures.
      508 509 510  | 
    
      # File 'lib/rspec/core/formatters/exception_presenter.rb', line 508 def summary "Got #{exception_count_description}" end  |