aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-12-30 10:17:30 +0100
committerYves Senn <yves.senn@gmail.com>2015-03-18 09:52:16 +0100
commitc5532e06d9ef8b75f7443019aa1f34a3b697efdc (patch)
tree517dce6fb5c8e01ca9178388b41dfc21fa0b3543 /railties/lib/rails/commands
parentfb646969a24be3ec4506515ea89e19ca577a4c40 (diff)
downloadrails-c5532e06d9ef8b75f7443019aa1f34a3b697efdc.tar.gz
rails-c5532e06d9ef8b75f7443019aa1f34a3b697efdc.tar.bz2
rails-c5532e06d9ef8b75f7443019aa1f34a3b697efdc.zip
spike of a `OptionParser` backed test runner.
Diffstat (limited to 'railties/lib/rails/commands')
-rw-r--r--railties/lib/rails/commands/commands_tasks.rb7
-rw-r--r--railties/lib/rails/commands/test.rb9
2 files changed, 15 insertions, 1 deletions
diff --git a/railties/lib/rails/commands/commands_tasks.rb b/railties/lib/rails/commands/commands_tasks.rb
index 8bae08e44e..d8d4080c3e 100644
--- a/railties/lib/rails/commands/commands_tasks.rb
+++ b/railties/lib/rails/commands/commands_tasks.rb
@@ -14,6 +14,7 @@ The most common rails commands are:
generate Generate new code (short-cut alias: "g")
console Start the Rails console (short-cut alias: "c")
server Start the Rails server (short-cut alias: "s")
+ test Run tests (short-cut alias: "t")
dbconsole Start a console for the database specified in config/database.yml
(short-cut alias: "db")
new Create a new Rails application. "rails new my_app" creates a
@@ -27,7 +28,7 @@ In addition to those, there are:
All commands can be run with -h (or --help) for more information.
EOT
- COMMAND_WHITELIST = %w(plugin generate destroy console server dbconsole runner new version help)
+ COMMAND_WHITELIST = %w(plugin generate destroy console server dbconsole runner new version help test)
def initialize(argv)
@argv = argv
@@ -81,6 +82,10 @@ EOT
end
end
+ def test
+ require_command!("test")
+ end
+
def dbconsole
require_command!("dbconsole")
Rails::DBConsole.start
diff --git a/railties/lib/rails/commands/test.rb b/railties/lib/rails/commands/test.rb
new file mode 100644
index 0000000000..f75b07cf73
--- /dev/null
+++ b/railties/lib/rails/commands/test.rb
@@ -0,0 +1,9 @@
+ENV["RAILS_ENV"] = "test"
+
+require "rails/test_unit/runner"
+options = Rails::TestRunner::Options.parse(ARGV)
+
+$: << File.expand_path("../../test", APP_PATH)
+
+# Config Rails backtrace in tests.
+Rails::TestRunner.new(options).run