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.rake36
1 files changed, 21 insertions, 15 deletions
diff --git a/railties/lib/rails/test_unit/testing.rake b/railties/lib/rails/test_unit/testing.rake
index 57857fb911..4f34707f53 100644
--- a/railties/lib/rails/test_unit/testing.rake
+++ b/railties/lib/rails/test_unit/testing.rake
@@ -40,7 +40,7 @@ end
desc 'Run all unit, functional and integration tests'
task :test do
- errors = %w(test:units test:functionals test:integration).collect do |task|
+ errors = %w(test:models test:controllers test:helpers).collect do |task|
begin
Rake::Task[task].invoke
nil
@@ -55,8 +55,10 @@ namespace :test do
Rake::TestTask.new(:recent => "db:test:prepare") do |t|
since = TEST_CHANGES_SINCE
touched = FileList['test/**/*_test.rb'].select { |path| File.mtime(path) > since } +
- recent_tests('app/models/**/*.rb', 'test/unit', since) +
- recent_tests('app/controllers/**/*.rb', 'test/functional', since)
+ recent_tests('app/models/**/*.rb', 'test/models', since) +
+ recent_tests('app/models/**/*_observer.rb', 'test/observers', since) +
+ recent_tests('app/controllers/**/*.rb', 'test/controllers', since) +
+ recent_tests('app/helpers/**/*.rb', 'test/helpers', since)
t.libs << 'test'
t.test_files = touched.uniq
@@ -74,35 +76,39 @@ namespace :test do
end
models = changed_since_checkin.select { |path| path =~ /app[\\\/]models[\\\/].*\.rb$/ }
+ observers = changed_since_checkin.select { |path| path =~ /app[\\\/]models[\\\/].*_observer\.rb$/ }
controllers = changed_since_checkin.select { |path| path =~ /app[\\\/]controllers[\\\/].*\.rb$/ }
+ helpers = changed_since_checkin.select { |path| path =~ /app[\\\/]helpers[\\\/].*\.rb$/ }
- unit_tests = models.map { |model| "test/unit/#{File.basename(model, '.rb')}_test.rb" }
- functional_tests = controllers.map { |controller| "test/functional/#{File.basename(controller, '.rb')}_test.rb" }
+ model_tests = models.map { |model| "test/models/#{File.basename(model, '.rb')}_test.rb" }
+ observer_tests = observers.map { |observer| "test/observers/#{File.basename(observer, '.rb')}_test.rb" }
+ controller_tests = controllers.map { |controller| "test/controllers/#{File.basename(controller, '.rb')}_test.rb" }
+ helper_tests = helpers.map { |helper| "test/helpers/#{File.basename(helper, '.rb')}_test.rb" }
- unit_tests.uniq + functional_tests.uniq
+ (model_tests + observer_tests + controller_tests + helper_tests).uniq
end
t.libs << 'test'
end
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion and Git)"
- Rake::TestTask.new(:units => "db:test:prepare") do |t|
+ Rake::TestTask.new(:models => "db:test:prepare") do |t|
t.libs << "test"
- t.pattern = 'test/unit/**/*_test.rb'
+ t.pattern = ['test/models/**/*_test.rb', 'test/observers/**/*_test.rb']
end
- Rake::Task['test:units'].comment = "Run the unit tests in test/unit"
+ Rake::Task['test:models'].comment = "Run the unit tests in test/models and test/observers"
- Rake::TestTask.new(:functionals => "db:test:prepare") do |t|
+ Rake::TestTask.new(:controllers => "db:test:prepare") do |t|
t.libs << "test"
- t.pattern = 'test/functional/**/*_test.rb'
+ t.pattern = 'test/controllers/**/*_test.rb'
end
- Rake::Task['test:functionals'].comment = "Run the functional tests in test/functional"
+ Rake::Task['test:controllers'].comment = "Run the functional and integration tests in test/controllers"
- Rake::TestTask.new(:integration => "db:test:prepare") do |t|
+ Rake::TestTask.new(:helpers => "db:test:prepare") do |t|
t.libs << "test"
- t.pattern = 'test/integration/**/*_test.rb'
+ t.pattern = 'test/helpers/**/*_test.rb'
end
- Rake::Task['test:integration'].comment = "Run the integration tests in test/integration"
+ Rake::Task['test:helpers'].comment = "Run the unit tests in test/helpers"
Rake::TestTask.new(:benchmark => 'db:test:prepare') do |t|
t.libs << 'test'