Rails 5 rspec - 将对象转换为 ActiveRecord 关系

Rails 5 rspec - convert object to ActiveRecord Relation

我有使用 .ids 作为 ActiveRecord 数组的方法。类似的东西:

def exmpale(array)
  method2(array.ids)
end

现在我想为此方法创建测试,但是当我通过 FactoryBot 创建对象时,我没有获得 ActiveRecord 数组。例如:

let(:array) { FactoryBot.create(:class_example) }

我可以使用 ClassExample.where 来获得 ActiveRecord 关系,但我不确定这是个好主意。在不改变方法的情况下还有其他解决方案吗?

简单的方法是使用 create_list 和 return 一个 ActiveRecord 关系,但如果我是你,我会重新考虑使用 stubs .

let(:array) do
  list = create_list(:class_example, 4)
  ClassExample.where(id: list.map(&:id))
end