class ZSpec::Formatter
Public Class Methods
new(queue:, tracker:, stdout:, message:)
click to toggle source
Calls superclass method
# File lib/zspec/formatter.rb, line 5 def initialize(queue:, tracker:, stdout:, message:) super @output_hash = { failures: [] } @failed = false @errors_outside_of_examples = false @message = message @queue = queue @tracker = tracker @stdout = stdout end
Public Instance Methods
close(_notification)
click to toggle source
# File lib/zspec/formatter.rb, line 31 def close(_notification) @queue.resolve( @failed, @message, @output_hash.to_json, @stdout.string ) @tracker.track_runtime(@message, @duration) @tracker.track_failures(@output_hash[:failures]) if @failed @tracker.track_sequence(@message) raise if @errors_outside_of_examples end
dump_summary(summary)
click to toggle source
# File lib/zspec/formatter.rb, line 21 def dump_summary(summary) @duration = summary.duration # only set to true if there is a failure, otherwise it will override the failures from example_failed if summary.errors_outside_of_examples_count.to_i > 0 @failed = true @errors_outside_of_examples = true end @output_hash[:summary] = format_summary(summary) end
example_failed(failure)
click to toggle source
# File lib/zspec/formatter.rb, line 16 def example_failed(failure) @failed = true @output_hash[:failures] << format_example(failure.example) end
Private Instance Methods
format_example(example)
click to toggle source
# File lib/zspec/formatter.rb, line 58 def format_example(example) hash = { id: example.id, description: example.description, full_description: example.full_description, status: example.execution_result.status.to_s, run_time: example.execution_result.run_time } e = example.exception if e hash[:exception] = { class: e.class.name, message: e.message, backtrace: e.backtrace } end hash end
format_summary(summary)
click to toggle source
# File lib/zspec/formatter.rb, line 46 def format_summary(summary) { duration: summary.duration, load_time: summary.load_time, file_path: @message, example_count: summary.example_count, failure_count: summary.failure_count, pending_count: summary.pending_count, errors_outside_of_examples_count: summary.errors_outside_of_examples_count } end