1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Simplify rake test vs rake test:all

Renames `rake test:all` to `rake test` by changing old `rake test:run` to previous version of `rake test:all`.  Removes old definition of `rake test`. Also renames `rake test:all:db` to `rake test:db` and deprecates `rake test:all` & `rake test:all:db`
This commit is contained in:
David Geukers 2014-10-21 15:13:09 -04:00
parent 40e904df37
commit 3b12abba3c
3 changed files with 28 additions and 6 deletions

View file

@ -792,7 +792,7 @@ when you initiate a Rails project.
| Tasks | Description |
| ----------------------- | ----------- |
| `rake test` | Runs all unit, functional and integration tests. You can also simply run `rake` as Rails will run all the tests by default |
| `rake test` | Runs all tests in the test folder. You can also simply run `rake` as Rails will run all the tests by default |
| `rake test:controllers` | Runs all the controller tests from `test/controllers` |
| `rake test:functionals` | Runs all the functional tests from `test/controllers`, `test/mailers`, and `test/functional` |
| `rake test:helpers` | Runs all the helper tests from `test/helpers` |
@ -801,8 +801,7 @@ when you initiate a Rails project.
| `rake test:mailers` | Runs all the mailer tests from `test/mailers` |
| `rake test:models` | Runs all the model tests from `test/models` |
| `rake test:units` | Runs all the unit tests from `test/models`, `test/helpers`, and `test/unit` |
| `rake test:all` | Runs all tests quickly by merging all types and not resetting db |
| `rake test:all:db` | Runs all tests quickly by merging all types and resetting db |
| `rake test:db` | Runs all tests and resets the db |
Brief Note About `Minitest`

View file

@ -181,4 +181,10 @@
*Yves Senn*, *Carlos Antonio da Silva*, *Robin Dupret*
* Make `rake test` run all tests in test folder.
Deprecate `rake test:all` and replace `rake test:all:db` with `rake test:db`
*David Geukers*
Please check [4-1-stable](https://github.com/rails/rails/blob/4-1-stable/railties/CHANGELOG.md) for previous changes.

View file

@ -3,7 +3,7 @@ require 'rails/test_unit/sub_test_task'
task default: :test
desc 'Runs test:units, test:functionals, test:generators, test:integration, test:jobs together'
desc "Runs all tests in test folder"
task :test do
Rails::TestTask.test_creator(Rake.application.top_level_tasks).invoke_rake_task
end
@ -13,17 +13,34 @@ namespace :test do
# Placeholder task for other Railtie and plugins to enhance. See Active Record for an example.
end
task :run => ['test:units', 'test:functionals', 'test:generators', 'test:integration', 'test:jobs']
Rails::TestTask.new(:run) do |t|
t.pattern = "test/**/*_test.rb"
end
desc "Run tests quickly, but also reset db"
task :db => %w[db:test:prepare test]
# Inspired by: http://ngauthier.com/2012/02/quick-tests-with-bash.html
desc "Run tests quickly by merging all types and not resetting db"
Rails::TestTask.new(:all) do |t|
t.pattern = "test/**/*_test.rb"
end
Rake::Task["test:all"].enhance do
Rake::Task["test:deprecate_all"].invoke
end
task :deprecate_all do
ActiveSupport::Deprecation.warn "rake test:all is deprecated and will be removed in Rails 5. " \
"Use rake test to run all tests in test directory."
end
namespace :all do
desc "Run tests quickly, but also reset db"
task :db => %w[db:test:prepare test:all]
Rake::Task["test:all:db"].enhance do
Rake::Task["test:deprecate_all"].invoke
end
end
Rails::TestTask.new(single: "test:prepare")