【发布时间】:2023-04-02 18:39:01
【问题描述】:
我有一个 Rails 4.2.8 应用程序,ruby 2.4.4 和 Mongo 数据库,使用 mongoid ODB。
我想使用 rspec 对此应用程序运行测试。最基本的测试给了我这个错误:
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base
我对这个问题的研究使我得出了这些结论,但我不知道如何解决这个问题本身:
- 为什么这里提到了活动记录,而它不在我的 gemfile 中?也许另一个 gem 在某个时候正在加载它,但我怎样才能摆脱这个问题?
- 我的 application.yml 和 mongoid.yml 文件配置正确。我可以
RAILS_ENV=TEST rails console也可以查询文档。 - 看起来 rails 进入了 file 中的条件行 15。那么 ActiveRecord 是如何以及为什么会在某个时候加载的呢?
非常感谢您的帮助,因为我不知道下一步该做什么......
【问题讨论】:
-
我猜有些 gem 正在尝试使用 ActiveRecord,您需要知道 gem 正在做什么并检查文档或联系开发人员。检查gemfile.lock,可能列在那里。
-
活动记录是连接数据库和更新模型的rails模块。我不确定运行控制台是否证明您的应用程序连接到数据库。你可以检查这个线程来测试stackoverflow.com/questions/30170025/…
-
我可以在测试环境的控制台中查询文档...
-
@arieljuod 我怎么知道是哪个宝石呢?我在 gemfile.lock 中看到的唯一活动记录位于 rails (4.2.8)
-
检查这个问题stackoverflow.com/questions/19078044/…,希望对您有帮助
标签: ruby-on-rails activerecord rspec mongoid rspec-rails