python - 在 Django 中处理测试数据的最佳实践是什么?

标签 python django testing tdd

我目前为每个应用程序使用一个 fixtures 文件,但随着项目的增长,测试花费的时间太长,我认为为每个测试类加载的(现在很大的)fixtures 是有问题的。

由于担心重复和维护,我已经避免使用很多较小的装置,但我知道这是不可避免的。

不过,在我走这条路之前,我想我会问问其他人如何使用夹具来测试他们的应用程序/项目。

最佳答案

是的,您遇到了一大组固定装置的问题。随着测试套件的增长,不断的反序列化/加载确实会增加。我建议编写实用函数来根据需要创建数据,而不是依赖固定装置。例如,您可能有一个函数来创建一个新的 auth.User,例如:

def create_user(data=None):
    data = data or {}
    defaults = {
        'username': get_random_string(),
        'email': get_random_email(),
        'password': get_random_string()
    }
    defaults.update(data)
    return User.objects.create_user(**defaults)

编写一个函数来生成随机字符串/电子邮件留给读者作为练习:)

关于python - 在 Django 中处理测试数据的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7613616/

相关文章:

python - Django (1.8) Ajax 表单 BooleanField 始终返回 True

python - 使用 scapy 生成 LACP 流量

python - Django WSGI Apache VirtualHost,返回 404 错误

Django 存储网站内容

android - 在 Google Play 上退款测试订单

testing - 在 Karma 测试中访问 AngularJS 应用服务

python - 获取切片列值

python - 如何将对象传递给机器人框架中的关键字?

python - Django forms.DateInput 不应用 attrs 字段中给定的属性

linux - 创建一个虚假的现实 : Testing Using Virtual Block Devices