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

发布于 2024-10-13 05:42:56 字数 332 浏览 6 评论 0原文

我正在使用 Factory Girl 填充我的种子数据并将其添加到 Seed.rb 中的数据库中。

然后我使用 Cucumber 运行测试。

我有一个价格表,其中包含我想要在所有环境中使用的种子数据。

我希望 rake db:seed 将其添加到我的开发测试数据库中,以便 Cucumber 能够使用该测试种子。然后我也会在产品中添加种子数据。

如何确保我的种子数据同时添加到开发和测试数据库中?

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

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 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

樱娆 2024-10-20 05:42:56

你可以尝试这样的事情:

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

You can try something like this:

rake db:seed RAILS_ENV=test --trace
rake db:seed RAILS_ENV=production --trace
烂人 2024-10-20 05:42:56

从类似的帖子中查看此答案

我真的认为最好使用工厂来填充测试数据库。
如果您在测试期间需要种子数据,请将其添加为 spec_helper/test_helper 中的 before :all 块。

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.

〃温暖了心ぐ 2024-10-20 05:42:56

您可能还想访问此线程使用测试数据库,特别是因为您不想将数据保留在测试数据库中。

随着您的测试开始发展,您很可能会发现自己使用种子数据、工厂以及模拟,并且使用持久数据,您会发现自己遇到了冲突。

就我个人而言,我喜欢为我的测试数据库使用自定义种子文件,并将其加载到我的 Rails_helper 中:

DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean

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

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"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文