FactoryBot 动态属性
FactoryBot Dynamic Attributes
在 5.0 FactoryBot 版本中,将弃用静态属性,而必须使用动态属性。所以:
factory :product do
name 'Some Product'
end
需要变成:
factory :product do
name { 'Some Product' }
end
但是,在我的代码中,我简化了具有相同名称但使用循环递增计数的属性的分配:
factory :product do
(1..6).each do |n|
send "image_#{n}", "test_image.jpeg"
end
end
基本上,在我的产品模型中,我有 6 张图像(image_1、image_2 等)。在上面的代码中,我遍历每个并将 "test_image.jpeg" 分配给每个。我如何使用动态属性来做到这一点?
大致相同。只需在调用发送后指定一个块:
factory :product do
(1..6).each do |n|
send("image_#{n}") { "test_image.jpeg" }
end
end
在 5.0 FactoryBot 版本中,将弃用静态属性,而必须使用动态属性。所以:
factory :product do
name 'Some Product'
end
需要变成:
factory :product do
name { 'Some Product' }
end
但是,在我的代码中,我简化了具有相同名称但使用循环递增计数的属性的分配:
factory :product do
(1..6).each do |n|
send "image_#{n}", "test_image.jpeg"
end
end
基本上,在我的产品模型中,我有 6 张图像(image_1、image_2 等)。在上面的代码中,我遍历每个并将 "test_image.jpeg" 分配给每个。我如何使用动态属性来做到这一点?
大致相同。只需在调用发送后指定一个块:
factory :product do
(1..6).each do |n|
send("image_#{n}") { "test_image.jpeg" }
end
end