prevent rake test to run the test suite three times when ENV['TEST'] is set [#3572 state:resolved]

Signed-off-by: Xavier Noria <fxn@hashref.com>
This commit is contained in:
David Calavera 2010-10-08 18:16:40 +05:30 committed by Xavier Noria
parent b3cadf338b
commit ab2f2b22a6
2 changed files with 14 additions and 6 deletions

View File

@ -8,15 +8,18 @@ Rake can be found at http://rake.rubyforge.org
== Running by hand
If you only want to run a single test suite, or don't want to bother with Rake,
you can do so with something like:
To run a single test suite
ruby -Itest test/controller/base_tests.rb
rake test TEST=path/to/test.rb
== Dependency on ActiveRecord and database setup
which can be further narrowed down to one test:
rake test TEST=path/to/test.rb TESTOPTS="--name=test_something"
== Dependency on Active Record and database setup
Test cases in the test/controller/active_record/ directory depend on having
activerecord and sqlite installed. If ActiveRecord is not in
activerecord and sqlite installed. If Active Record is not in
actionpack/../activerecord directory, or the sqlite rubygem is not installed,
these tests are skipped.

View File

@ -73,7 +73,8 @@ end
desc 'Runs test:units, test:functionals, test:integration together (also available: test:benchmark, test:profile, test:plugins)'
task :test do
errors = %w(test:units test:functionals test:integration).collect do |task|
tests_to_run = ENV['TEST'] ? ["test:single"] : %w(test:units test:functionals test:integration)
errors = tests_to_run.collect do |task|
begin
Rake::Task[task].invoke
nil
@ -123,6 +124,10 @@ namespace :test do
end
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion and Git)"
Rake::TestTask.new(:single => "test:prepare") do |t|
t.libs << "test"
end
TestTaskWithoutDescription.new(:units => "test:prepare") do |t|
t.libs << "test"
t.pattern = 'test/unit/**/*_test.rb'