轨道4中的种子测试数据库

时间:2013-10-09 14:15:22

标签: ruby-on-rails devise ruby-on-rails-4

我刚开始为我的工作进展轨道应用程序实施一些测试。我有一些依赖项(主要用于管理用户),这需要我已经注册了用户。

我在db/seeds.rb文件中设置了这些项目。

我从this articlethis questionthis question找到了一些信息,但它们与早期版本的rails有关。

我根据其中一个问题建议创建了一个test_seeds.rake文件,但是当我运行时它似乎没有被调用

rake tests

所以我正在研究这个理论,它不仅仅是作为rails 4的一部分而改变的测试文件夹结构。

任何人都可以提供有关如何实现这一目标的任何指南吗?

由于 简

2 个答案:

答案 0 :(得分:3)

啊哈,感谢Steve对我发现的this question的评论

Rails.application.load_seed 

我已在test/test_helper.rb文件中的以下方法中实现,如下所示:

  def set_up
    Rails.application.load_seed 
  end

做我需要的。我不确定这是否是Rails 4的做法。

答案 1 :(得分:1)

我会使用seedbank

它允许您指定单独的种子文件。

  • 需要在每个环境中运行的种子文件。
  • 只需要在开发,测试或生产中运行的种子文件。
  • 需要在某些自定义情况下运行的种子文件。

我认为种子库会覆盖rake db:setup任务,而这又由rake tests运行。但你必须测试它以确保。