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
This commit is contained in:
Ryan Davis 2013-02-04 14:50:04 -08:00
parent cb48bbeb00
commit 0e006373e0

@ -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 } +