【问题标题】:Database Cleaner unable to detect ORM in Rails applicationDatabase Cleaner 无法检测 Rails 应用程序中的 ORM
【发布时间】:2016-02-07 23:43:07
【问题描述】:

执行$ rspec时出现如下错误:

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

这是 spec_helper.rb 文件中的 sn-p:

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

有问题的 Rails 应用程序使用 ActiveRecord 作为 ORM,documentation for Database Cleaner 声明它首先检查 ActiveRecord

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

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

【问题讨论】:

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


    【解决方案1】:

    原因:

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

    解决方案

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2021-05-06
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      相关资源
      最近更新 更多