rspec Mongoid范围适用于开发而非测试

时间:2015-05-15 21:50:34

标签: ruby-on-rails ruby 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

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

我错过了什么?

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

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

1 个答案:

答案 0 :(得分:0)

检查你的GemFile,我打赌Mongoid只会在开发中运行:

尝试切换此

gem 'mongoid', group: :development

到这个

gem 'mongoid'