How to Populate Lookup tables in Testing (Rails)

孤街醉人 提交于 2020-01-02 05:06:10

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!