是否有可能覆盖现有Spree工厂的部分?

Car*_*eda 4 factory-bot

我正在构建一个Spree商务应用程序,我正在使用我的规范中的gem提供的工厂.但是,我发现自己需要覆盖特定工厂的某些属性以满足我的应用程序需求.

示例:UserSpree定义的工厂有6个字符的密码.我的应用程序要求至少8.如何在password不编写全新工厂的情况下覆盖属性?

Car*_*eda 6

哇!结果我没有用Google搜索正确的单词.实际上很容易修改工厂,如文档中所指定的那样.

FactoryGirl.modify do
  factory :user do
    password 'password
  end
end
Run Code Online (Sandbox Code Playgroud)

在这种特殊情况下,我必须通过添加以下内容确保Spree工厂在之前加载:

require 'spree/testing_support/factories'
Run Code Online (Sandbox Code Playgroud)