Skip to content

Commit 4a602da

Browse files
committed
Fix coverage tracking to load SimpleCov before application code
Extract SimpleCov setup to simplecov_setup.rb and load it via Minitest's test_prelude so it starts before any application code regardless of how tests are invoked.
1 parent 29bb06d commit 4a602da

File tree

3 files changed

+15
-13
lines changed

3 files changed

+15
-13
lines changed

Rakefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@
55
require "bundler/gem_tasks"
66

77
require "minitest/test_task"
8-
Minitest::TestTask.create
8+
Minitest::TestTask.create do |t|
9+
t.test_prelude = 'require "simplecov_setup"'
10+
end

test/abstract_test.rb

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
require 'bundler/setup'
2-
3-
if ENV['COVERAGE']
4-
require 'simplecov'
5-
if ENV['CI']
6-
require 'simplecov-cobertura'
7-
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
8-
end
9-
SimpleCov.start do
10-
add_filter '/test/'
11-
track_files 'lib/**/*.rb'
12-
end
13-
end
2+
require_relative 'simplecov_setup'
143

154
require 'fileutils'
165
require 'minitest/autorun'

test/simplecov_setup.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
if ENV['COVERAGE']
2+
require 'simplecov'
3+
if ENV['CI']
4+
require 'simplecov-cobertura'
5+
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
6+
end
7+
SimpleCov.start do
8+
add_filter '/test/'
9+
track_files 'lib/**/*.rb'
10+
end
11+
end

0 commit comments

Comments
 (0)