lib/jacoco/plugin.rb in danger-jacoco-0.1.1 vs lib/jacoco/plugin.rb in danger-jacoco-0.1.2

- old
+ new

@@ -67,14 +67,11 @@ .map { |file| file.split('.').first.split(delimiter)[1] } end # It returns a specific class code coverage and an emoji status as well def report_class(jacoco_class) - counters = jacoco_class.counters - branch_counter = counters.detect { |e| e.type.eql? 'BRANCH' } - line_counter = counters.detect { |e| e.type.eql? 'LINE' } - counter = branch_counter.nil? ? line_counter : branch_counter + counter = coverage_counter(jacoco_class) coverage = (counter.covered.fdiv(counter.covered + counter.missed) * 100).floor status = coverage_status(coverage, minimum_class_coverage_percentage) { covered: coverage, @@ -106,9 +103,19 @@ status: coverage_status } end private + + def coverage_counter(jacoco_class) + counters = jacoco_class.counters + branch_counter = counters.detect { |e| e.type.eql? 'BRANCH' } + line_counter = counters.detect { |e| e.type.eql? 'LINE' } + counter = branch_counter.nil? ? line_counter : branch_counter + raise "No coverage data found for #{jacoco_class.name}" if counter.nil? + + counter + end # rubocop:disable Style/SignalException def report_fails(class_coverage_above_minimum, total_covered) if total_covered[:covered] < minimum_project_coverage_percentage # fail danger if total coverage is smaller than minimum_project_coverage_percentage