我正在构建一个Spree商务应用程序,我正在使用我的规范中的gem提供的工厂。但是,我发现自己需要覆盖特定工厂的某些属性以满足我的应用需求。
示例:Spree定义的User
工厂有6个字符的密码。我的应用程序要求至少8.如何在不编写全新工厂的情况下覆盖password
属性?
答案 0 :(得分:6)
哇!事实证明我没有用Google搜索正确的单词。事实上modify factories非常容易,正如文档中所指定的那样。
FactoryGirl.modify do
factory :user do
password 'password
end
end
在这种特殊情况下,我必须通过添加:
来确保之前加载的Spree工厂require 'spree/testing_support/factories'