class JmlTestRunner::Suite

Attributes

raw_input[R]
tests[R]
timestamp[R]
title[R]

Public Class Methods

new(raw) click to toggle source
# File lib/jml_test_runner/suite.rb, line 8
def initialize(raw)
  @raw_input = Hash.from_xml(raw)
  @tests = []
  return unless @raw_input['testsuites']
  parse_raw_xml
end

Public Instance Methods

count() click to toggle source
# File lib/jml_test_runner/suite.rb, line 27
def count
  @tests.count
end
error_count() click to toggle source
# File lib/jml_test_runner/suite.rb, line 23
def error_count
  @tests.count { |t| t.result == :error }
end
failure_count() click to toggle source
# File lib/jml_test_runner/suite.rb, line 15
def failure_count
  @tests.count { |t| t.result == :failure }
end
pass_count() click to toggle source
# File lib/jml_test_runner/suite.rb, line 19
def pass_count
  @tests.count { |t| t.result == :success }
end

Private Instance Methods

parse_raw_xml() click to toggle source
# File lib/jml_test_runner/suite.rb, line 33
def parse_raw_xml
  hash = @raw_input['testsuites']
  @timestamp = DateTime.parse(hash['datetime'])
  suite = hash['suite']
  parse_suite_xml(suite)
end
parse_suite_xml(suite_hash) click to toggle source
# File lib/jml_test_runner/suite.rb, line 40
def parse_suite_xml(suite_hash)
  @title = suite_hash['title']
  @duration = suite_hash['duration']
  suite_hash['test'].each do |test|
    next unless test.is_a?(Hash)
    @tests.push(TestCase.new(test))
  end
end