【发布时间】:2018-10-05 19:25:31
【问题描述】:
我的目标是创建具有相同值的几个字段的工厂, 例如,我希望 name 和 full_name 相等。
FactoryBot.define do
factory :brand do
n = Faker::Company.name
name { n }
full_name { n }
end
end
上述方法行不通,因为n只能获得一次价值。
那么,如何评估某个块以与一些动态字段共享其数据?
另一种情况:我有带有品牌的 YML 文件,方法 get_random_brand 返回带有品牌字段的哈希:
FactoryBot.define do
factory :brand do
b = get_random_brand
name { b['name'] }
full_name { b['full_nam'] }
end
end
我了解工厂在读取工厂定义时会这样做。
如何评估get_random_brand每个创建的工厂只有一个?
【问题讨论】:
-
尝试在 FactoryBot 范围之外创建和使用 ruby 变量来解决您的问题。
标签: ruby-on-rails ruby rubygems factory-bot