开发者

How can I add my seed data to my test database using rake db:seed?

I'm using Factory Girl to populate my seed data and adding it to the db in seed.rb.

I'm then running my tests using Cucumber.

I have a price table that contains seed data that I want in all my environments.

I want rake db:seed to add it to my dev and test db's and for cucumber to be able to use that test seed. Then I'll 开发者_C百科add that seed data in prod also.

How can I ensure that my seed data is added to both dev and test db's?

rake db:seed #only adds it only to my dev database


You can try something like this:

rake db:seed RAILS_ENV=test --trace
rake db:seed RAILS_ENV=production --trace


Check out this answer from a similiar post.

I really think it's better to use factories to fill test database. And if you need seed data during your tests add it as a before :all block in spec_helper/test_helper.


You may want to visit this thread as well when working with a test database, especially since you do not want to persist data in your test database.

As your tests start to evolve you will most likely find yourself using the seed data, factories, as well as mocks, and with persistent data you will find yourself running into conflicts.

Personally I like to use a custom seed file for my test database, and load it in my rails_helper:

DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean

load "#{Rails.root}/db/custom_test_seed.rb"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜