aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/test_unit/testing.rake
diff options
context:
space:
mode:
authorRyan Davis <ryand-ruby@zenspider.com>2013-02-04 14:50:04 -0800
committerRyan Davis <ryand-ruby@zenspider.com>2013-02-04 14:50:04 -0800
commit0e006373e000c2763876b3084175e95ee0e36be3 (patch)
tree265af22a7077b451e35f8d864291759e3b691917 /railties/lib/rails/test_unit/testing.rake
parentcb48bbeb005f3b8d68465604287e9df2f4572f89 (diff)
downloadrails-0e006373e000c2763876b3084175e95ee0e36be3.tar.gz
rails-0e006373e000c2763876b3084175e95ee0e36be3.tar.bz2
rails-0e006373e000c2763876b3084175e95ee0e36be3.zip
Added test:all and test:all:db tasks to speed up full test runs.
Speed up depends on the number of test phases (N) you have for your app, but it is roughly a 1/N improvement. In my app, it goes from 15.51s to 5.56s. Inspired by http://ngauthier.com/2012/02/quick-tests-with-bash.html Reviewed by @tenderlove
Diffstat (limited to 'railties/lib/rails/test_unit/testing.rake')
-rw-r--r--railties/lib/rails/test_unit/testing.rake12
1 files changed, 12 insertions, 0 deletions
diff --git a/railties/lib/rails/test_unit/testing.rake b/railties/lib/rails/test_unit/testing.rake
index f0d46fd959..44485d9b14 100644
--- a/railties/lib/rails/test_unit/testing.rake
+++ b/railties/lib/rails/test_unit/testing.rake
@@ -71,6 +71,18 @@ namespace :test do
end
end
+ # Inspired by: http://ngauthier.com/2012/02/quick-tests-with-bash.html
+ desc "Run tests quickly by merging all types and not resetting db"
+ Rake::TestTask.new(:all) do |t|
+ t.libs << "test"
+ t.pattern = "test/**/*_test.rb"
+ end
+
+ namespace :all do
+ desc "Run tests quickly, but also reset db"
+ task :db => %w[db:test:prepare test:all]
+ end
+
Rake::TestTask.new(recent: "test:prepare") do |t|
since = TEST_CHANGES_SINCE
touched = FileList['test/**/*_test.rb'].select { |path| File.mtime(path) > since } +