class CukeParser::ReportEngine::ReporterUtils
Public Class Methods
new()
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 5 def initialize #I might eventually use this! end
Public Instance Methods
find_cuke_metrics(cuke)
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 47 def find_cuke_metrics(cuke) cuke_metrics = {:scenarios_passed_total => 0, :scenarios_failed_total => 0, :steps_passed_total => 0,:steps_failed_total => 0,:steps_skipped_total => 0} cuke.features.each do |feature| cuke_metrics[feature.name.to_sym] = get_scenario_metrics(feature) cuke_metrics[:scenarios_failed_total] += cuke_metrics[feature.name.to_sym][:feature_metrics][:failed] cuke_metrics[:scenarios_passed_total] += cuke_metrics[feature.name.to_sym][:feature_metrics][:passed] cuke_metrics[:steps_skipped_total] += cuke_metrics[feature.name.to_sym][:scenario_metrics][:skipped] cuke_metrics[:steps_failed_total] += cuke_metrics[feature.name.to_sym][:scenario_metrics][:failed] cuke_metrics[:steps_passed_total] += cuke_metrics[feature.name.to_sym][:scenario_metrics][:passed] end return cuke_metrics end
get_scenario_metrics(feature)
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 27 def get_scenario_metrics(feature) feature_metrics = {:scenario_count => 0, :passed => 0, :failed => 0} scenario_metrics = {:step_count => 0, :passed => 0, :failed => 0, :skipped => 0} #don't want to count background! feature_metrics[:scenario_count] = feature.scenarios.count - 1 feature.scenarios.each do |scenario| scenario.status.eql?("passed") ? (scenario.keyword.eql?("Background") ? (feature_metrics[:passed] += 0) : (feature_metrics[:passed] += 1)) : (scenario.keyword.eql?("Background") ? (feature_metrics[:failed] += 0) : (feature_metrics[:failed] += 1)) scenario_metrics = get_step_metrics(scenario,scenario_metrics) end return {:feature_metrics => feature_metrics, :scenario_metrics => scenario_metrics} end
get_step_metrics(scenario,scenario_metrics)
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 39 def get_step_metrics(scenario,scenario_metrics) scenario_metrics[:step_count] += scenario.steps.count scenario.steps.each do |step| step.status.eql?("passed") ? (scenario_metrics[:passed] += 1) : (step.status.eql?("failed") ? (scenario_metrics[:failed] += 1) : (scenario_metrics[:skipped] += 1)) end return scenario_metrics end
model_status_display(status)
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 23 def model_status_display(status) status == "failed" ? {:class => "failed"} : (status == "passed" ? {:class => "passed"} : {:class => "skipped"}) end
time_to_words(duration)
click to toggle source
# File lib/report_engine/reporter_utils.rb, line 9 def time_to_words(duration) #need to determine if it has hours or minutes for output string! t = Time.at(duration / 1000000000.00).gmtime if !t.strftime('%H').eql?("00") t.strftime('%H hours and %M mins and %S secs and %L ms') elsif !t.strftime('%M').eql?("00") t.strftime('%M mins and %S secs and %L ms') elsif !t.strftime('%S').eql?("00") t.strftime('%S secs and %L ms') else t.strftime('%L ms') end end