diff --git a/lib/test_prof/recipes/minitest/sample.rb b/lib/test_prof/recipes/minitest/sample.rb index e26b6ff5..df4fbcf3 100644 --- a/lib/test_prof/recipes/minitest/sample.rb +++ b/lib/test_prof/recipes/minitest/sample.rb @@ -7,14 +7,16 @@ module MinitestSample CORE_RUNNABLES = [ Minitest::Test, defined?(Minitest::Unit::TestCase) ? Minitest::Unit::TestCase : nil, - Minitest::Spec + defined?(Minitest::Spec) ? Minitest::Spec : nil ].compact.freeze class << self def suites # Make sure that sample contains only _real_ suites Minitest::Runnable.runnables - .reject { |suite| CORE_RUNNABLES.include?(suite) } + .select do |suite| + CORE_RUNNABLES.any? { |kl| suite < kl } && suite.runnable_methods.any? + end end def sample_groups(sample_size) diff --git a/spec/integrations/fixtures/minitest/sample_fixture.rb b/spec/integrations/fixtures/minitest/sample_fixture.rb index dd0bec01..7e823f3f 100644 --- a/spec/integrations/fixtures/minitest/sample_fixture.rb +++ b/spec/integrations/fixtures/minitest/sample_fixture.rb @@ -14,7 +14,10 @@ def test_pass2 end end -class AnotherSomethingTest < Minitest::Test +class CustomTestCase < Minitest::Test +end + +class AnotherSomethingTest < CustomTestCase def test_pass assert true end