Database Cleaner无法在Rails应用程序中检测到ORM

时间:2016-02-07 23:43:08

标签: ruby-on-rails ruby rspec database-cleaner ruby-on-rails-5

执行$ rspec时会显示以下错误:

  

未检测到已知的ORM! ActiveRecord,DataMapper,Sequel,MongoMapper,Mongoid,Moped或CouchPotato,Redis还是Ohm加载? (DatabaseCleaner :: NoORMDetected)

这是 spec_helper.rb 文件的摘录:

config.before(:suite) do
  DatabaseCleaner.strategy = :transaction
  DatabaseCleaner.clean_with(:truncation)
end

有问题的 Rails 应用程序使用 ActiveRecord 作为ORM,并首先检查 ActiveRecord documentation for Database Cleaner状态。< / p>

应用程序的 Rails 版本为5.0.0.beta2

错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:2)

原因:

错误是由缺少模型引起的。由于没有模型,因此应用程序未指定 ORM 。因此, DatabaseCleaner 无法选择合适的策略。

<强>解决方案

至少应创建一个模型。这可以通过rails generate scaffoldrails generate model命令完成。