aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2015-01-29 15:03:08 +0100
committerYves Senn <yves.senn@gmail.com>2015-03-18 09:52:18 +0100
commit090c83672f333d6a4d87752ca1f980bfb6be6849 (patch)
tree08824ed6b23002a0b276872ac688ac4c94d8af95 /railties/lib/rails
parentf4ea8dda1b150d8abc2f41a214e15ae81ed5f9b5 (diff)
downloadrails-090c83672f333d6a4d87752ca1f980bfb6be6849.tar.gz
rails-090c83672f333d6a4d87752ca1f980bfb6be6849.tar.bz2
rails-090c83672f333d6a4d87752ca1f980bfb6be6849.zip
`-e` / `--environment` for the test runner.
Diffstat (limited to 'railties/lib/rails')
-rw-r--r--railties/lib/rails/commands/test.rb2
-rw-r--r--railties/lib/rails/test_unit/runner.rb8
2 files changed, 8 insertions, 2 deletions
diff --git a/railties/lib/rails/commands/test.rb b/railties/lib/rails/commands/test.rb
index ada21e7d3f..598e224a6f 100644
--- a/railties/lib/rails/commands/test.rb
+++ b/railties/lib/rails/commands/test.rb
@@ -1,5 +1,5 @@
-ENV["RAILS_ENV"] = "test"
require "rails/test_unit/runner"
$: << File.expand_path("../../test", APP_PATH)
+
Rails::TestRunner.run(ARGV)
diff --git a/railties/lib/rails/test_unit/runner.rb b/railties/lib/rails/test_unit/runner.rb
index c5bf97bfc9..baf33b4468 100644
--- a/railties/lib/rails/test_unit/runner.rb
+++ b/railties/lib/rails/test_unit/runner.rb
@@ -7,12 +7,17 @@ module Rails
class TestRunner
class Options
def self.parse(args)
- options = { backtrace: false, name: nil }
+ options = { backtrace: false, name: nil, environment: "test" }
opt_parser = ::OptionParser.new do |opts|
opts.banner = "Usage: bin/rails test [options] [file or directory]"
opts.separator ""
+ opts.on("-e", "--environment [ENV]",
+ "run tests in the ENV environment") do |env|
+ options[:environment] = env.strip
+ end
+ opts.separator ""
opts.separator "Filter options:"
opts.separator ""
opts.separator <<-DESC
@@ -70,6 +75,7 @@ module Rails
def run
$rails_test_runner = self
+ ENV["RAILS_ENV"] = @options[:environment]
run_tests
end