aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/test_unit/testing.rake
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/test_unit/testing.rake')
-rw-r--r--railties/lib/rails/test_unit/testing.rake45
1 files changed, 45 insertions, 0 deletions
diff --git a/railties/lib/rails/test_unit/testing.rake b/railties/lib/rails/test_unit/testing.rake
new file mode 100644
index 0000000000..6676c6a079
--- /dev/null
+++ b/railties/lib/rails/test_unit/testing.rake
@@ -0,0 +1,45 @@
+gem 'minitest'
+require 'minitest'
+require 'rails/test_unit/minitest_plugin'
+
+task default: :test
+
+desc "Runs all tests in test folder"
+task :test do
+ $: << "test"
+ Minitest.rake_run(["test"])
+end
+
+namespace :test do
+ task :prepare do
+ # Placeholder task for other Railtie and plugins to enhance.
+ # If used with Active Record, this task runs before the database schema is synchronized.
+ end
+
+ task :run => %w[test]
+
+ desc "Run tests quickly, but also reset db"
+ task :db => %w[db:test:prepare test]
+
+ ["models", "helpers", "controllers", "mailers", "integration", "jobs"].each do |name|
+ task name => "test:prepare" do
+ $: << "test"
+ Minitest.rake_run(["test/#{name}"])
+ end
+ end
+
+ task :generators => "test:prepare" do
+ $: << "test"
+ Minitest.rake_run(["test/lib/generators"])
+ end
+
+ task :units => "test:prepare" do
+ $: << "test"
+ Minitest.rake_run(["test/models", "test/helpers", "test/unit"])
+ end
+
+ task :functionals => "test:prepare" do
+ $: << "test"
+ Minitest.rake_run(["test/controllers", "test/mailers", "test/functional"])
+ end
+end