【发布时间】:2016-06-01 18:54:02
【问题描述】:
我有两个简单的工厂:一个用于user,一个用于blog。创建博客时,必须有一个关联的user,所以这在博客工厂中有所体现:
FactoryGirl.define do
factory :user do
end
end
FactoryGirl.define do
factory :blog do
user #specifying the required association
end
end
现在我可以像这样在规范中创建博客:
blog = create(:blog)
我不确定规范中的具体操作是如何在首次创建blog 记录时立即在关联的user 记录上指定一些自定义属性。
例如:当创建blog 记录(这也创建关联的user 记录)时,我想在关联的user 记录上指定first_name 属性。比如:
blog = create(:blog, associated_user: (first_name: 'foobar) )
上面的语法不起作用,但我想做类似的事情。我确实看过factory girl docs,我一直在谷歌搜索,但一直无法弄清楚这一点。
问题:在使用工厂女孩创建对象时,如何在关联对象上设置一些自定义属性?
【问题讨论】:
-
您查看过 FactoryGirl 文档中的关联吗?我认为您正在寻找的东西称为瞬态rubydoc.info/gems/factory_girl/file/…
-
@JeffPrice 是的,我确实看过关联部分。它没有显示我如何在实际规范中自定义类型的属性。我所看到的只是它展示了如何为工厂使用继承,以便您可以通过这种方式指定关联的特征,但这感觉有点矫枉过正,因为我只想为一个小规范指定这些属性。
标签: ruby-on-rails ruby rspec factory-bot