我正在尝试测试简单的POST控制器#create方法。
it "saves the new object in the DB" do
object = build(:object_with_association)
expect { post :create, object: object.attributes }.to change(SomeObject, :count).by(1)
end
object.attributes 是最好的方法吗?我尝试使用attributes_for(:object_with_association),但它返回一个没有关联的哈希。可能有一些有用的方法可以做到这一点吗? 我的工厂:
factory :obj do
name "A"
association :first, factory: :first
association :second, factory: :second
factory :obj_with_association do
transient do
nested_count 5
end
after(:build) do |obj, evaluator|
create_list(:nested, evaluator.nested_count, obj: obj)
end
end
end
关联:第一个和第二个是 belongs_to ,对于:嵌套是 has_many
答案 0 :(得分:0)
您可以单独创建属性并合并它们,也可以使用FactoryGirl尝试特征。
请详细了解这两个SO问题: