如何在测试(Rails)中填充查找表

时间:2011-01-22 00:24:22

标签: ruby-on-rails unit-testing rspec cucumber factory-bot

我正在使用Cucumber,Rspec和Factory Girl来测试我的Rails应用程序。但我有几个查找表,主要包含静态数据。所以我试图找出在测试时填充这些内容的最佳方法。在FactoryGirl中单独完成它们似乎很乏味,我想远离Fixtures。对于开发和生产,我将它们填入我的seeds.rb文件中。

谢谢!

2 个答案:

答案 0 :(得分:7)

使用Factory Girl。序列,PopulatorFaker,你永远不会用尽实验室老鼠!

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

然后可能在before :each块中

@models = []
15.times { @models << Factory.create(:model) }

或者您可以在测试前仅使用Populator填充数据库。

答案 1 :(得分:0)

也许像

rake RAILS_ENV=test db:seed

在您的测试帮助文件中?