你如何使用 Fabrication 定义特征

How do you define trait using Fabrication

我正在学习如何在 Rails 中使用 fabrication,我们决定用伪造的代码替换所有 factory_girl 代码。

假设我们在factory_girl

中有这段代码
FactoryGirl.define do
  factory :user do
  trait(:no_credits) { credits 0 }
  trait(:with_credits) { credits 300 }

你将如何在 Fabrication 中定义它?我浏览了他们的网站,但找不到与此相关的任何信息。感谢您的帮助

您似乎在寻找 Fabricator inheritance,文档是这样说的:

您可以使用 :from 属性继承其他制造商的属性。

Fabricator(:llc, from: :company) do
  type "LLC"
end

设置 :from 选项将继承 class 和命名 Fabricator 的所有属性。

您还可以使用 :class_name 参数明确指定正在制作的 class。

Fabricator(:llc, class_name: :company) do
  type "LLC"
end