From 613bdd9d4c6b024cbc26186f1ad443faa6cdffb1 Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Sat, 24 Jan 2015 12:10:46 +0100 Subject: get rid of NAMED_PATTERNS in favor of running a whole directory --- railties/lib/rails/test_unit/runner.rb | 11 ++++------- railties/test/test_unit/runner_test.rb | 8 ++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'railties') diff --git a/railties/lib/rails/test_unit/runner.rb b/railties/lib/rails/test_unit/runner.rb index d84f1cf9af..67c86e0dd0 100644 --- a/railties/lib/rails/test_unit/runner.rb +++ b/railties/lib/rails/test_unit/runner.rb @@ -10,7 +10,7 @@ module Rails options = { backtrace: false, name: nil } opt_parser = ::OptionParser.new do |opts| - opts.banner = "Usage: bin/rails test [options]" + opts.banner = "Usage: bin/rails test [options] [file or directory]" opts.separator "" opts.separator "Filter options:" @@ -47,8 +47,8 @@ module Rails opt_parser.order!(args) if arg = args.shift - if NAMED_PATTERNS.key?(arg) - options[:pattern] = arg + if Dir.exists?(arg) + options[:pattern] = "#{arg}/**/*_test.rb" else options[:filename], options[:line] = arg.split(':') options[:filename] = File.expand_path options[:filename] @@ -89,13 +89,10 @@ module Rails end end - NAMED_PATTERNS = { - "models" => "test/models/**/*_test.rb" - } def test_files return [@options[:filename]] if @options[:filename] if @options[:pattern] - pattern = NAMED_PATTERNS[@options[:pattern]] + pattern = @options[:pattern] else pattern = "test/**/*_test.rb" end diff --git a/railties/test/test_unit/runner_test.rb b/railties/test/test_unit/runner_test.rb index fa906d4080..be226e3aa5 100644 --- a/railties/test/test_unit/runner_test.rb +++ b/railties/test/test_unit/runner_test.rb @@ -44,4 +44,12 @@ class TestUnitTestRunnerTest < ActiveSupport::TestCase runner = Rails::TestRunner.new(options) assert_nil runner.find_method end + + test "run all tests in a directory" do + options = @options.parse([__dir__]) + + assert_equal "#{__dir__}/**/*_test.rb", options[:pattern] + assert_nil options[:filename] + assert_nil options[:line] + end end -- cgit v1.2.3