我的项目包含很少的应用程序和一系列具有各种关系的模型。
我相信那个小男孩可以帮我保持我的项目DRY,每个应用程序可以在测试和种子上使用factory.py。这是一种有效的方法吗?
答案 0 :(得分:1)
是的,这是一种有效的方法。
每个应用程序都有自己的factories.py
文件,其中包含自己模型的工厂。如果应用程序还依赖于其他应用程序中的模型,则可以从原始应用程序导入它们以使其保持干燥状态。
示例:
app1
|__ factories.py
app2
|__ factories.py
app3
|__ tests.py # Tests interaction of app3 with app1 and app2
|__ factories.py # Define factories for app3's models only
# and reuse factories from app1 and app2
# for their models
# app3/tests.py
from app1.factories import Model1
from app2.factories import Model2
from app3.factories import Model3
def test_feature_in_app3():
# do something with Model1, Model2 and Model3