首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用RSpec,如何在加载时为数据库设定种子?

使用RSpec,如何在加载时为数据库设定种子?
EN

Stack Overflow用户
提问于 2011-05-15 02:43:32
回答 6查看 35.1K关注 0票数 49

我使用rspec来测试我的rails 3应用程序。在测试开始之前,我需要在数据库中植入种子。如何使用以下内容作为数据库的种子:

/db/seeds.rb

代码语言:javascript
复制
["Admin", "Member"].each do |role_name|
  Role.find_or_create_by_name(role_name)
end

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-15 03:10:02

尝试一下,就像这样

代码语言:javascript
复制
rake db:seed RAILS_ENV=test

您可以获得执行的所有rake命令的列表

代码语言:javascript
复制
rake -T

如果这是测试数据,您可能希望将其放入将在测试开始时加载的fixture中。

票数 11
EN

Stack Overflow用户

发布于 2013-11-12 21:38:39

在spec_helper.rb或rails_helper.rb中:

代码语言:javascript
复制
RSpec.configure do |config|
  config.before(:suite) do
    Rails.application.load_seed # loading seeds
  end
end
票数 195
EN

Stack Overflow用户

发布于 2012-01-25 05:13:35

尽管Scott的解决方案肯定对您有效,但我认为解决您的问题的更好方法是将负责为测试数据库播种的代码放在RSpec的配置块中:

我使用SeedFu,在我的spec_helper中,我有:

代码语言:javascript
复制
RSpec.configure do |config|

  # some other configuration code ...

  config.before(:suite) do
    # ...
    SeedFu.seed
    # ...
  end

  # some other configuration code ...

end
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6004057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档