class PactJUnitFormatter::ExampleDumper
Public Class Methods
new(xml, example)
click to toggle source
# File lib/pact_junit_formatter.rb, line 50 def initialize(xml, example) @xml = xml @example = example end
Public Instance Methods
call()
click to toggle source
# File lib/pact_junit_formatter.rb, line 55 def call case @example.status when :passed dump_example(@example) when :pending dump_pending(@example) when :failed dump_failed(@example) else raise "Unexpected example status: #{@example.status}" end end
Private Instance Methods
dump_example(example, &block)
click to toggle source
# File lib/pact_junit_formatter.rb, line 85 def dump_example(example, &block) @xml.testcase( classname: example.classname, name: example.description, file: '', time: "%.6f" % example.run_time, &block ) end
dump_failed(example)
click to toggle source
# File lib/pact_junit_formatter.rb, line 74 def dump_failed(example) exception = example.example.exception message = exception.message.gsub(/\e\[(\d+)m/, '') dump_example(example) do @xml.failure(message: message, type: exception.class.name) do @xml.cdata!("#{message}\n#{example.notification.formatted_backtrace.join("\n")}") end end end
dump_pending(example)
click to toggle source
# File lib/pact_junit_formatter.rb, line 70 def dump_pending(example) dump_example(example) { @xml.skipped } end