【问题标题】:Seeding test database in rails 4在 Rails 4 中播种测试数据库
【发布时间】:2013-10-09 14:15:22
【问题描述】:

我刚刚开始为我正在进行的 Rails 应用程序实施一些测试。我有一些依赖项(主要是为用户管理设计的),这需要我已经注册了一个用户。

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

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

我按照其中一个问题的建议创建了一个 test_seeds.rake 文件,但在我运行时它似乎没有被调用

rake tests

所以我正在研究这样一个理论,即不仅仅是测试文件夹结构作为 rails 4 的一部分发生了变化。

任何人都可以提供有关如何实现此目标的任何 Rails 4 指导吗?

谢谢 简

【问题讨论】:

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


    【解决方案1】:

    啊哈,感谢Stevethis question的评论我发现了

    Rails.application.load_seed 
    

    我在test/test_helper.rb 文件中的以下方法中实现了如下:

      def set_up
        Rails.application.load_seed 
      end
    

    这可以满足我的需要。我不确定这是否是 Rails 4 的做法。

    【讨论】:

    • 我正在使用 RSpec 并将其放在 spec/rails_helper.rb 中,在所有需要语句之后。
    【解决方案2】:

    我会使用seedbank

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

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

    我认为种子库会覆盖rake db:setup 任务,而这又由rake tests 运行。但是您必须对其进行测试才能确定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 2014-03-20
      • 2015-03-10
      • 1970-01-01
      • 2014-11-10
      • 2020-05-02
      • 1970-01-01
      相关资源
      最近更新 更多