diff --git a/test/test_helper.rb b/test/test_helper.rb index e8ab2f081..08b3a9e23 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -233,15 +233,22 @@ def assert_sampling_check(builder, sample_size, array) OptionParser.new do |opts| opts.on("--name NAME") do |name| name = name.gsub(/(\A\/)|(\/\Z)/, '') + klass_name, method_name = name.split("#", 2) - constant = (Object.const_get(name) rescue nil) + constant = ObjectSpace.each_object(Class).find do |klass| + if klass.name + klass.name == klass_name || klass.name.end_with?("::#{klass_name}") + end + end if constant - test_unit_args << "--testcase" - test_unit_args << name - else - test_unit_args << "--name" - test_unit_args << name + if method_name + test_unit_args << "--name" + test_unit_args << "#{constant.name}##{method_name}" + else + test_unit_args << "--testcase" + test_unit_args << constant.name + end end end end.order!(argv) diff --git a/test/test_skip.rb b/test/test_skip.rb index 4ab9795bf..2fbd7b92f 100644 --- a/test/test_skip.rb +++ b/test/test_skip.rb @@ -50,7 +50,10 @@ def setup end def teardown - unless current_result.passed? + case + when passed? + # nop + else puts "💡You can skip this test `#{name}` by adding the name to `#{SKIP_TESTS_FILE}`" end