ruby-on-rails - Rspec - 检查特定模型的 ActiveRecord::Relation 实例

标签 ruby-on-rails rspec rails-activerecord rails-upgrade

在我们的应用程序中,我们使用了这个

expect_any_instance_of(Order::ActiveRecord_Relation)
  .to receive(:something)

当我们将应用程序升级到 Rails 5.2 时,我们收到以下错误

NameError:
   private constant #<Class:0x000055aa351fc9a0>::ActiveRecord_Relation referenced

有没有办法使用expect_any_instance_of检查特定模型的ActiveRecord::Relation

针对相同的问题提出了问题 https://github.com/rails/rails/issues/30943

最佳答案

试试这个Order.const_get(:ActiveRecord_Relation)。它应该使它在 Rails >= 5.2 中工作

关于ruby-on-rails - Rspec - 检查特定模型的 ActiveRecord::Relation 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179704/

相关文章:

ruby-on-rails - shoulda-matchers 的 ActiveRecord 匹配器是否违反了 "test behavior not implementation"规则?

ruby-on-rails - 在 Rails 的模型中保存记录之前执行检查重复项的功能

ruby-on-rails - 如何用nokogiri解析重复的元素

ruby-on-rails - FactoryGirl Rspec 模型测试失败

ruby - 匹配中多个期望语句的自定义断言消息

ruby-on-rails - 使用 Capybara 和 Selenium on Rails 5.1 应用程序(从 Rails 4 升级)的系统测试设置问题

ruby-on-rails - rails : select records with maximum date

ruby-on-rails - 在 Heroku 上构建后运行 Ruby 脚本

javascript - 如何通过 JS Web 小部件将字符串呈现为 HTML?

ruby-on-rails - 如果来自不同分支的后续迁移已经运行,如何在 Heroku 上运行来自 Git 分支的迁移?