ruby on rails - rspec Mongoid作用域在开发中工作,而不是在测试中



我有一个作用域,我在rails中应用到一个Mongoid对象,它在开发时工作得很好,但在运行测试时却不是。它在测试中根本不起作用。这是一个嵌入式文档。

父:

class Person
  include Mongoid::Document
  def self.with_appointments
    where(:appointments.not => { '$size' => 0 })
  end
  embeds_many :appointments, store_as: 'Appointments', class_name: 'Appointment'
end

嵌入子元素:

class Appointment
  include Mongoid::Document
  embedded_in :person
end

当我对模型运行测试时,它返回person,无论他们是否有约会。如果我从开发中的控制器对数据库运行相同的操作,它会过滤掉具有空约会的人员。

我错过了什么?

在要求我更改数据库设置之前-

  1. 我无法控制数据结构
  2. 假设我甚至没有对数据库的写访问权限

检查您的GemFile,我打赌Mongoid设置为仅在开发中运行:

尝试切换这个

gem 'mongoid', group: :development

gem 'mongoid'

相关内容

  • 没有找到相关文章

最新更新