Skip to content

Commit 33711ca

Browse files
authored
Merge pull request #2500 from Shopify/uk-improve-minitest-6
Simplify Minitest 6 integration
2 parents 5f2caba + 4c5837c commit 33711ca

File tree

2 files changed

+16
-28
lines changed

2 files changed

+16
-28
lines changed

spec/spec_helper.rb

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,23 @@
1414
require "spec_with_project"
1515
require "rails_spec_helper"
1616

17-
# Minitest::Reporters currently lacks support for Minitest 6
18-
# https://github.com/minitest-reporters/minitest-reporters/issues/368
19-
if Gem::Version.new(Minitest::VERSION) < Gem::Version.new("6.0")
20-
require "minitest/reporters"
21-
require "spec_reporter"
22-
23-
backtrace_filter = Minitest::ExtensibleBacktraceFilter.default_filter
24-
backtrace_filter.add_filter(%r{gems/sorbet-runtime})
25-
backtrace_filter.add_filter(%r{gems/railties})
26-
backtrace_filter.add_filter(%r{tapioca/helpers/test/})
27-
28-
Minitest::Reporters.use!(SpecReporter.new(color: true), ENV, backtrace_filter)
29-
end
17+
require "minitest/reporters"
18+
require "spec_reporter"
3019

31-
# Minitest 6 split Minitest::Mock out into its own gem
32-
if Gem::Version.new(Minitest::VERSION) >= Gem::Version.new("6.0")
33-
require "minitest/mock"
34-
end
20+
# Minitest::Reporters currently lacks support for Minitest 6 out of the box
21+
# but we can register the plugin to use it.
22+
# Ref: https://github.com/minitest-reporters/minitest-reporters/pull/366#issuecomment-3731951673
23+
require "minitest/minitest_reporter_plugin"
24+
Minitest.register_plugin(:minitest_reporter)
25+
26+
backtrace_filter = Minitest::ExtensibleBacktraceFilter.default_filter
27+
backtrace_filter.add_filter(%r{gems/sorbet-runtime})
28+
backtrace_filter.add_filter(%r{gems/railties})
29+
backtrace_filter.add_filter(%r{tapioca/helpers/test/})
30+
31+
Minitest::Reporters.use!(SpecReporter.new(color: true), ENV, backtrace_filter)
32+
33+
require "minitest/mock"
3534

3635
module Minitest
3736
class Test

spec/spec_reporter.rb

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,10 @@
22
# frozen_string_literal: true
33

44
class SpecReporter < Minitest::Reporters::SpecReporter
5-
def before_suite(suite)
6-
suite.name.split("::").reduce(0) do |padding, name|
7-
puts pad(name, padding)
8-
padding + TEST_PADDING
9-
end
10-
end
11-
125
def record(test)
136
# Trim leading "test_dddd_" and replace it with "it "
147
test.name = test.name.gsub(/^test_\d{4}_/, "it ")
158
@test_padding = test.class_name.split("::").size * TEST_PADDING
169
super
1710
end
18-
19-
def pad_test(str)
20-
pad(format("%-#{TEST_SIZE}s", str), @test_padding)
21-
end
2211
end

0 commit comments

Comments
 (0)