class Gitlab::QA::Report::TestResult::JUnitTestResult

Attributes

testcase[RW]

Public Instance Methods

file() click to toggle source
# File lib/gitlab/qa/report/test_result.rb, line 120
def file
  report['file']
end
name() click to toggle source
# File lib/gitlab/qa/report/test_result.rb, line 116
def name
  report['name']
end
skipped() click to toggle source
# File lib/gitlab/qa/report/test_result.rb, line 124
def skipped
  report.search('skipped').any?
end

Private Instance Methods

failures_from_exceptions() click to toggle source
# File lib/gitlab/qa/report/test_result.rb, line 132
def failures_from_exceptions
  failures = report.search('failure')
  return [] if failures.empty?

  failures.map do |exception|
    trace = exception.content.split("\n").map(&:strip)
    spec_file_first_index = trace.rindex do |line|
      line.include?(File.basename(report['file']))
    end

    {
      'message' => "#{exception['type']}: #{exception['message']}",
      'stacktrace' => trace.slice(0..spec_file_first_index).join("\n")
    }
  end
end