Class: RSpec::Core::Reporter
- Inherits:
-
Object
- Object
- RSpec::Core::Reporter
- Defined in:
- lib/rspec/core/reporter.rb
Overview
A reporter will send notifications to listeners, usually formatters for the spec suite run.
Constant Summary
Instance Method Summary (collapse)
-
- (Reporter) initialize(configuration)
constructor
A new instance of Reporter.
-
- (void) message(message)
Send a custom message to supporting formatters.
-
- (void) publish(event, options = {})
Publish a custom event to supporting registered formatters.
-
- (void) register_listener(listener, *notifications)
Registers a listener to a list of notifications.
-
- (void) report(expected_example_count) {|Block| ... }
Initializes the report run and yields itself for further reporting.
Constructor Details
- (Reporter) initialize(configuration)
Returns a new instance of Reporter
14 15 16 17 18 19 20 21 |
# File 'lib/rspec/core/reporter.rb', line 14 def initialize(configuration) @configuration = configuration @listeners = Hash.new { |h, k| h[k] = Set.new } @examples = [] @failed_examples = [] @pending_examples = [] @duration = @start = @load_time = nil end |
Instance Method Details
- (void) message(message)
Send a custom message to supporting formatters.
94 95 96 |
# File 'lib/rspec/core/reporter.rb', line 94 def () notify :message, Notifications::MessageNotification.new() end |
- (void) publish(event, options = {})
Publish a custom event to supporting registered formatters.
103 104 105 106 107 108 109 |
# File 'lib/rspec/core/reporter.rb', line 103 def publish(event, ={}) if RSPEC_NOTIFICATIONS.include? event raise "RSpec::Core::Reporter#publish is intended for sending custom " \ "events not internal RSpec ones, please rename your custom event." end notify event, Notifications::CustomNotification.for() end |
- (void) register_listener(listener, *notifications)
Registers a listener to a list of notifications. The reporter will send notification of events to all registered listeners.
47 48 49 50 51 52 |
# File 'lib/rspec/core/reporter.rb', line 47 def register_listener(listener, *notifications) notifications.each do |notification| @listeners[notification.to_sym] << listener end true end |
- (void) report(count, &block) - (void) report(count, &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.
74 75 76 77 78 79 80 81 |
# File 'lib/rspec/core/reporter.rb', line 74 def report(expected_example_count) start(expected_example_count) begin yield self ensure finish end end |