class Bucky::Core::TestCore::TestResult
Attributes
result[RW]
Public Class Methods
new()
click to toggle source
# File lib/bucky/core/test_core/test_result.rb, line 17 def initialize @result = Test::Unit::TestResult.new @tdo = Bucky::Core::Database::TestDataOperator.new end
Public Instance Methods
save(added_result_info)
click to toggle source
Save test result @param [Array] added_result_info
# File lib/bucky/core/test_core/test_result.rb, line 24 def save(added_result_info) # Format data before saving to database. test_suite_result = format_result_summary(added_result_info) @tdo.save_test_result(test_suite_result) end
Private Instance Methods
format_result_summary(added_result_info)
click to toggle source
Return Bucky::Test::Unit::TestResult Object
@param [Array] added_result_info @return [Array] Array data for Sequel
# File lib/bucky/core/test_core/test_result.rb, line 35 def format_result_summary(added_result_info) # For sequel data_set = {} error_test_case_name = [] ############################################## # Store failed cases in data set. # ############################################## @result.faults.each do |fault| case_name = fault.method_name case_id = @tdo.get_test_case_id(added_result_info[case_name.to_sym][:test_suite_id], added_result_info[case_name.to_sym][:case_name]) error_test_case_name.push(case_name.to_sym) data_set[case_name] = [ id = nil, test_case_id = case_id, error_title = fault.message, error_message = fault.location.join("\n"), elapsed_time = added_result_info[case_name.to_sym][:elapsed_time], is_error = 1, job_id = $job_id, round = $round ] end ############################################ # Store passed cases in data set. # ############################################ added_result_info.delete_if { |k, _v| error_test_case_name.include?(k) } added_result_info.each do |case_name, added_info| case_id = @tdo.get_test_case_id(added_info[:test_suite_id], added_info[:case_name]) data_set[case_name] = [ id = nil, test_case_id = case_id, error_title = '', error_message = '', elapsed_time = added_info[:elapsed_time], is_error = 0, job_id = $job_id, round = $round ] end # Data set for sequel data_set_ary = data_set.map { |_, v| v } # Table colomn column_name_ary = %i[id test_case_id error_title error_message elapsed_time is_error job_id round] { column: column_name_ary, data_set: data_set_ary } end