Faster Rails Tests
Anyone that has worked on a large rails application knows how long it takes for tests to run. I have this same problem as well. I use the build in testing framework packaged with Rails. One thing I noticed was that the Rails environment seemed to be loading between running unit, functional and integration tests. I felt this was unnecessary if I wanted to run the whole test suite, say for CI purposes, so I created a custom rake task that I use:
# lib/tasks/test.rake
require "rake/testtask"
Rake::TestTask.new do |t|
t.libs << "lib"
t.libs << "test"
t.name = "test:ci"
t.warning = false
t.verbose = false
t.test_files = FileList[
"test/unit/**/*_test.rb",
"test/functional/**/*_test.rb",
"test/integration/**/*_test.rb"
]
endThis allows me to run all my tests in a single application boot and shave a small amount of time off the full run:
bundle exec rake test:ci