Class: RSpec::Core::Reporter
- Inherits:
 - 
      Object
        
- Object
 - RSpec::Core::Reporter
 
 - Defined in:
 - lib/rspec/core/reporter.rb
 
Constant Summary
- NOTIFICATIONS =
 start message example_group_started example_group_finished example_started example_passed example_failed example_pending start_dump dump_pending dump_failures dump_summary seed close stop deprecation deprecation_summary].map { |n| n.to_sym }
Instance Method Summary (collapse)
- - (Object) deprecation(message)
 - - (Object) example_failed(example)
 - - (Object) example_group_finished(group)
 - - (Object) example_group_started(group)
 - - (Object) example_passed(example)
 - - (Object) example_pending(example)
 - - (Object) example_started(example)
 - - (Object) finish(seed) (also: #abort)
 - 
  
      - (Reporter) initialize(*formatters) 
  
    constructor
    
A new instance of Reporter.
 - - (Object) message(message)
 - - (Object) notify(event, *args)
 - 
  
      - (Object) register_listener(listener, *notifications) 
  
    
Registers a listener to a list of notifications.
 - - (Object) registered_listeners(notification)
 - 
  
      - (Object) report(expected_example_count, seed = nil) 
  
    
Initializes the report run and yields itself for further reporting.
 - - (Object) start(expected_example_count)
 - - (Object) stop
 
Constructor Details
- (Reporter) initialize(*formatters)
A new instance of Reporter
      7 8 9 10 11 12 13 14  | 
    
      # File 'lib/rspec/core/reporter.rb', line 7 def initialize(*formatters) @listeners = Hash.new { |h,k| h[k] = [] } formatters.each do |formatter| register_listener(formatter, *NOTIFICATIONS) end @example_count = @failure_count = @pending_count = 0 @duration = @start = nil end  | 
  
Instance Method Details
- (Object) deprecation(message)
      100 101 102  | 
    
      # File 'lib/rspec/core/reporter.rb', line 100 def deprecation() notify :deprecation, end  | 
  
- (Object) example_failed(example)
      90 91 92 93  | 
    
      # File 'lib/rspec/core/reporter.rb', line 90 def example_failed(example) @failure_count += 1 notify :example_failed, example end  | 
  
- (Object) example_group_finished(group)
      77 78 79  | 
    
      # File 'lib/rspec/core/reporter.rb', line 77 def example_group_finished(group) notify :example_group_finished, group unless group.descendant_filtered_examples.empty? end  | 
  
- (Object) example_group_started(group)
      73 74 75  | 
    
      # File 'lib/rspec/core/reporter.rb', line 73 def example_group_started(group) notify :example_group_started, group unless group.descendant_filtered_examples.empty? end  | 
  
- (Object) example_passed(example)
      86 87 88  | 
    
      # File 'lib/rspec/core/reporter.rb', line 86 def example_passed(example) notify :example_passed, example end  | 
  
- (Object) example_pending(example)
      95 96 97 98  | 
    
      # File 'lib/rspec/core/reporter.rb', line 95 def example_pending(example) @pending_count += 1 notify :example_pending, example end  | 
  
- (Object) example_started(example)
      81 82 83 84  | 
    
      # File 'lib/rspec/core/reporter.rb', line 81 def example_started(example) @example_count += 1 notify :example_started, example end  | 
  
- (Object) finish(seed) Also known as: abort
      104 105 106 107 108 109 110 111 112 113 114 115 116  | 
    
      # File 'lib/rspec/core/reporter.rb', line 104 def finish(seed) begin stop notify :start_dump notify :dump_pending notify :dump_failures notify :dump_summary, @duration, @example_count, @failure_count, @pending_count notify :deprecation_summary notify :seed, seed if seed ensure notify :close end end  | 
  
- (Object) message(message)
      69 70 71  | 
    
      # File 'lib/rspec/core/reporter.rb', line 69 def () notify :message, end  | 
  
- (Object) notify(event, *args)
      125 126 127 128 129  | 
    
      # File 'lib/rspec/core/reporter.rb', line 125 def notify(event, *args, &block) registered_listeners(event).each do |formatter| formatter.send(event, *args, &block) end end  | 
  
- (Object) register_listener(listener, *notifications)
Registers a listener to a list of notifications. The reporter will send notification of events to all registered listeners
      22 23 24 25 26 27  | 
    
      # File 'lib/rspec/core/reporter.rb', line 22 def register_listener(listener, *notifications) notifications.each do |notification| @listeners[notification.to_sym] << listener if listener.respond_to?(notification) end true end  | 
  
- (Object) registered_listeners(notification)
      29 30 31  | 
    
      # File 'lib/rspec/core/reporter.rb', line 29 def registered_listeners(notification) @listeners[notification] end  | 
  
- (Object) report(count, &block) - (Object) report(count, seed, &block)
Initializes the report run and yields itself for further reporting. The block is required, so that the reporter can manage cleaning up after the run.
Warning:
The seed argument is an internal API and is not guaranteed to be
supported in the future.
      55 56 57 58 59 60 61 62  | 
    
      # File 'lib/rspec/core/reporter.rb', line 55 def report(expected_example_count, seed=nil) start(expected_example_count) begin yield self ensure finish(seed) end end  | 
  
- (Object) start(expected_example_count)
      64 65 66 67  | 
    
      # File 'lib/rspec/core/reporter.rb', line 64 def start(expected_example_count) @start = RSpec::Core::Time.now notify :start, expected_example_count end  | 
  
- (Object) stop
      120 121 122 123  | 
    
      # File 'lib/rspec/core/reporter.rb', line 120 def stop @duration = (RSpec::Core::Time.now - @start).to_f if @start notify :stop end  |