class JUnitFormatter
def dump_summary(duration, example_count, failure_count, pending_count)
def dump_summary(duration, example_count, failure_count, pending_count) super(duration, example_count, failure_count, pending_count) output.puts("<?xml version=\"1.0\" encoding=\"utf-8\" ?>") output.puts("<testsuite errors=\"0\" failures=\"#{failure_count+pending_count}\" tests=\"#{example_count}\" time=\"#{duration}\" timestamp=\"#{Time.now.iso8601}\">") output.puts(" <properties />") @test_results[:successes].each do |t| md = t.metadata runtime = md[:execution_result][:run_time] description = _xml_escape(md[:full_description]) file_path = _xml_escape(md[:file_path]) output.puts(" <testcase classname=\"#{file_path}\" name=\"#{description}\" time=\"#{runtime}\" />") end @test_results[:failures].each do |t| md = t.metadata description = _xml_escape(md[:full_description]) file_path = _xml_escape(md[:file_path]) runtime = md[:execution_result][:run_time] output.puts(" <testcase classname=\"#{file_path}\" name=\"#{description}\" time=\"#{runtime}\">") output.puts(" <failure message=\"failure\" type=\"failure\">") output.puts("<![CDATA[ #{read_failure(t)} ]]>") output.puts(" </failure>") output.puts(" </testcase>") end output.puts("</testsuite>") end