如何使用rake db:seed将种子数据添加到测试数据库?

时间:2011-01-22 14:24:57

标签: ruby-on-rails cucumber factory-bot

我正在使用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

3 个答案:

答案 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"
相关问题