我的Django项目中有一个实用函数,它接受一个查询集,从中获取一些数据并返回一个结果.我想为这个函数写一些测试.有没有办法"嘲弄"QuerySet呢?我想创建一个不接触数据库的对象,我可以为它提供一个要使用的值列表(即一些伪行),然后它就会像一个查询集一样工作,并允许其他人在它上进行字段查找/过滤/GET/ALL等等.

这样的事情已经存在了吗?

推荐答案

据我所知没有,但为什么不使用真正的查询集呢?测试框架已全部设置为允许您在测试中创建示例数据,并且在每次测试时都会重新创建数据库,因此似乎没有任何理由不使用真正的测试.

Django相关问答推荐

Django/SendGrid-密码重置-发件人地址与验证的发件人身份不匹配.";

使用自定义模型注册后,Django无法登录

通过 B 的外键列表访问模型 B 的行

django 无法识别实现自定义后端

`.objects` 属性在哪里添加到 Django 的 models.Model 类中的实例命名空间?

如何在视图中的 Django 重定向末尾附加字符串?

如果一个应用程序有多个具有相同字段的模型,那么保持 DRY 的最佳实践是什么?

如何从 django 模板生成静态 html 文件?

Django中的左外反向select_related?

是否可以将 FastAPI 与 Django 一起使用?

Django:显示在每个页面上加载页面所花费的时间

如何在 Django 中配置 X-Frame-Options 以允许 iframe 嵌入一个视图?

在 Django 中注册用户的最佳方法

get_or_create() 线程安全吗

如何在 Django 和 django-jsonfield 中将 JSONField 的默认值设置为空列表?

Python - 覆盖 __init__ 的最干净方法,其中在 super() 调用之后必须使用可选的 kwarg?

如何在 Django 1.9 中删除 DB (sqlite3) 以从头开始?

python/django中setattr和对象操作的区别

Django admin:使字段在添加中可编辑但不可编辑

Django 字符串到日期格式