From 090c83672f333d6a4d87752ca1f980bfb6be6849 Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Thu, 29 Jan 2015 15:03:08 +0100 Subject: `-e` / `--environment` for the test runner. --- railties/lib/rails/commands/test.rb | 2 +- railties/lib/rails/test_unit/runner.rb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'railties/lib') 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,11 +7,16 @@ 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 "" @@ -70,6 +75,7 @@ module Rails def run $rails_test_runner = self + ENV["RAILS_ENV"] = @options[:environment] run_tests end -- cgit v1.2.3