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
我有使用 .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