gpt4 book ai didi

ruby-on-rails - rspec Mongoid 范围适用于开发而不是测试

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:28 25 4
gpt4 key购买 nike

我有一个适用于 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

嵌入的 child :

class Appointment
include Mongoid::Document
embedded_in :person
end

当我对我的模型运行测试时,无论他们是否有约会,它都会返回 Persons。如果我在开发中从我的 Controller 针对数据库运行相同的程序,它会过滤掉约会空的人。

我错过了什么?

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

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

最佳答案

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

尝试切换这个

gem 'mongoid', group: :development

对此

gem 'mongoid'

关于ruby-on-rails - rspec Mongoid 范围适用于开发而不是测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com