I am using Ruby on Rails 3.0.9 and RSpec 2. I would like to auto-load seed data in the test database before I tesst my application. That is, at the testing start up time (when I run tests) I would like to "auto-populate"\"auto-boot" the test database.
How can I populate the database with seed data?
P.S.: As I read around, (maybe) I should populate the test database by adding some code to the /spec/spec_helper.rb
file... but what code and how?
In my task/custom.rake
file I have:
namespace :test do
desc "Boot database"
task :boot => [:load, :seed] do
end
desc "Reboot database"
task :reboot => [:purge, :boot] do
end
end
If you'd like to just invoke the seed rake task, I'd do something like this:
ENV['RAILS_ENV'] = 'test'
Rake::Task["db:seed"].invoke
But, I'd recommend using Fixtures (http://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures).
Or even better a fixture replacement like Factory Girl (https://github.com/thoughtbot/factory_girl), whereby you can load dummy data with all the associated data. This is a much less brittle approach.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With