django - 我应该为每个应用程序创建一个 factories.py 吗?

标签 django testing

<分区>

我有一个项目只有很少的应用程序和一堆具有各种关系的模型。

我相信 facory-boy 可以帮助我保持我的项目干燥,为每个可用于测试和种子的应用程序提供一个 factories.py。这是一种有效的方法吗?

最佳答案

是的,这是一种有效的方法。

每个应用程序都有自己的 factories.py 文件,其中包含自己模型的工厂。如果一个应用程序还依赖于其他应用程序的模型,您可以从原始应用程序导入它们以保持其 DRY。

例子:

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

关于django - 我应该为每个应用程序创建一个 factories.py 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34457857/

相关文章:

python - Django : Adding a property to the User class. 在运行时更改它和 UserManager.create_user

python - MySQL: django.db.utils.OperationalError: (1698, "Access denied for user ' root' @'localhost' ") with correct username and pw

php - 将 PHPUnit 与 Selenium 结合使用,如何测试元素是否包含某些内容?

android - 从不同的 Activity 开始 Espresso

java - 我应该如何测试接口(interface)?

java - 重用缓存的 spring 上下文来构建更大的上下文

Django根据另一个字段表单更新表单

python - 在查询集中移动一个元素

javascript - 服务器和客户端之间的路径冲突

testing - 什么使功能要求的测试程序良好?