class Guard::Unity::Parser
Attributes
doc[RW]
options[RW]
Public Class Methods
new(options={})
click to toggle source
# File lib/guard/unity/parser.rb, line 9 def initialize(options={}) @options = options @doc = nil end
Public Instance Methods
parse()
click to toggle source
# File lib/guard/unity/parser.rb, line 14 def parse() { tests: _get('total'), failures: _get('failures'), errors: _get('errors'), ignored: _get('ignored'), not_run: _get('not-run'), inconclusive: _get('inconclusive'), invalid: _get('invalid'), skipped: _get('skipped'), test_cases: _testCases } end
Private Instance Methods
_get(find)
click to toggle source
# File lib/guard/unity/parser.rb, line 30 def _get (find) doc ||= _getXMLFile node = doc.at_xpath("/test-results/@" + find) (node == nil) ? 0 : node.value.to_i end
_getXMLFile()
click to toggle source
# File lib/guard/unity/parser.rb, line 55 def _getXMLFile() f = File.open(options[:results_path]) doc = Nokogiri::XML(f) f.close doc end
_testCases()
click to toggle source
# File lib/guard/unity/parser.rb, line 36 def _testCases() doc ||= _getXMLFile nodes = doc.xpath("test-results/test-suite/results/test-case") cases = [] nodes.each do |node| message = node.at_xpath('failure/message') || node.at_xpath('reason/message') stack = node.at_xpath('failure/stack-trace') || node.at_xpath('reason/stack-trace') cases << { name: node['name'], failed: (node['success'] == 'False') ? true : false, message: (message) ? message.text.gsub("\n",'').strip : "", stack: (stack) ? stack.text.gsub("\n",'').strip : "" } end cases end