我正在使用Factory Girl填充种子数据并将其添加到seed.rb中的db。
然后我使用Cucumber运行我的测试。
我有一个价格表,其中包含我想要在所有环境中使用的种子数据。
我希望rake db:seed将它添加到我的dev 和测试db,并且黄瓜能够使用该测试种子。然后我也会在prod中添加种子数据。
如何确保将种子数据添加到dev和test db中?
rake db:seed #only adds it only to my dev database
答案 0 :(得分:33)
您可以尝试这样的事情:
rake db:seed RAILS_ENV=test --trace
rake db:seed RAILS_ENV=production --trace
答案 1 :(得分:8)
从类似的帖子中查看this answer。
我认为最好使用工厂来填充测试数据库。
如果您在测试期间需要种子数据,请将其添加为spec_helper / test_helper中的before :all
块。
答案 2 :(得分:1)
在使用测试数据库时,您可能还想访问this thread,尤其是因为您不希望在测试数据库中保留数据。
随着您的测试开始发展,您很可能会发现自己使用种子数据,工厂以及模拟,并且您会发现自己会遇到冲突。
我个人喜欢为我的测试数据库使用自定义种子文件,并将其加载到我的rails_helper中:
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean
load "#{Rails.root}/db/custom_test_seed.rb"