问题
I am using Cucumber, Rspec, and Factory Girl for the testing of my Rails Application. But I have several lookup tables that contain mostly static data. So I'm trying to figure out the best way to populate these when testing. Doing them individually in FactoryGirl seems tedious and I'd like to stay away from Fixtures. For development and production, I populate them in my seeds.rb file.
Thanks!
回答1:
Use Factory Girl .sequence, Populator and Faker and you'll never run out of lab rats!
Factory.define(:model) do |m|
m.sequence(:title) { |n| "model-#{n}" }
m.author Faker::Name.name
m.short Populator.words(5)
m.long Populator.paragraphs(1..3)
end
Then maybe in a before :each
block
@models = []
15.times { @models << Factory.create(:model) }
Or you can use only Populator to fill your database before tests.
回答2:
Maybe something like
rake RAILS_ENV=test db:seed
in your test helper file?
来源:https://stackoverflow.com/questions/4765264/how-to-populate-lookup-tables-in-testing-rails