在Rspec运行之前自动加载Mongoid种子数据

时间:2011-03-30 23:41:49

标签: ruby-on-rails ruby rspec mongoid mongodb

有人在这里问了这个问题:

How to load db:seed data into test database automatically?

但是他们的解决方案只有在你要运行db:test:prepare时才有效,这取决于要加载的模式。 Mongoid没有模式文件,db:test:prepare没有做任何事情,所以这不起作用。还有其他策略可行吗?

2 个答案:

答案 0 :(得分:1)

这里有一个类似的问题。我认为特别是最后一个答案会对你有所帮助:

How to load db:seed data into test database automatically?

答案 1 :(得分:1)

就像一个FYI,我找到了满足我要求的方法。我在mongoid.yml中设置了一个名为seed的数据库:

 databases:
    seeds:
      database: seeds_db
      host: localhost
      port: 27018

然后在我的模型中,我只使用数据使用种子:

class SeededData
  include Mongoid::Document
    set_database :seeds

这实际上很有效,因为生产,测试和开发都来自种子数据库,这就是我想要的。而且我在运行测试时从不抽真空数据。