class Robottelo::Reporter::ResultsToXML

The XML Test report builder

Public Class Methods

new() click to toggle source
# File lib/robottelo/reporter/results.rb, line 11
def initialize
  @total_time = @assertions = @errors = @failures = @skips = 0
  @results = []
  @polarion_properties = PolarionProperties.new
end

Public Instance Methods

build() click to toggle source
# File lib/robottelo/reporter/results.rb, line 22
def build
  xml_builder = Builder::XmlMarkup.new(indent: 2)
  xml_builder.instruct!
  xml_builder.testsuites do
    xml_builder.properties do
      @polarion_properties.to_xml xml_builder
    end
    xml_builder.testsuite(errors: @errors, failures: @failures, name: 'minitest',
                          skips: @skips, tests: tests, time: format('%.6f', @total_time)) do
      @results.each do |result|
        result.to_xml(xml_builder)
      end
    end
  end
end
record(result) click to toggle source
# File lib/robottelo/reporter/results.rb, line 17
def record(result)
  @results << result
  on_new_record result
end

Private Instance Methods

on_new_record(result) click to toggle source
# File lib/robottelo/reporter/results.rb, line 44
def on_new_record(result)
  @total_time += result.time
  @assertions += result.assertions
  case result.failure
  when MiniTest::Skip
    @skips += 1
  when MiniTest::UnexpectedError
    @errors += 1
  when MiniTest::Assertion
    @failures += 1
  end
end
tests() click to toggle source
# File lib/robottelo/reporter/results.rb, line 40
def tests
  @results.length
end