我有一个供多个库使用的模型,这些库中的每个库都以不同的方式使用它。
目前,我制作了一个工厂文件,其中包含多个子工厂。我的每个库都有一个工厂,因为每个库都需要我的基本模型的不同配置。
我的问题是我的工厂文件太长了,超过400行,我想将其拆分为多个文件,每个库一个。
现在我有这样的东西
# Master file
FactoryBot.define do
factory :my_model do
# Some things
factory :lib_1_test_unit do
# Some other things
end
factory :lib_2_test_unit do
# Some other things
end
end
end
我试图这样定义它:
# New master file
FactoryBot.define do
factory :my_model do
# Some things
end
end
# Subfile 1
FactoryBot.define do
factory :lib_1_test_unit do
# Some other things
end
end
但是我遇到了这个错误:
未初始化的常数Lib1TestUnit
如果我将子文件1与factory:my_model封装在一起,则会发生另一个错误,因为无法两次定义它。
我也试图将子文件包含到主文件中,但效果更差
有没有一种方法可以实现我想做的事情?还是我走错了路,也许有更好的实践或另一种方法可以将同一对象测试到不同的库中?
这不是您问题的完整解决方案,更像是一句话。
也许您错过了子文件1中的“ do”。
您有:factory :lib_1_test_unit
你需要:factory :lib_1_test_unit do