首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pytest-django测试Django Queryset相等

如何使用pytest-django测试Django Queryset相等
EN

Stack Overflow用户
提问于 2021-07-21 06:32:22
回答 1查看 651关注 0票数 1

断言两个查询集相等的最佳/最易读方式是什么?我想出了几个解决方案:

代码语言:javascript
复制
# option 1
assert sorted(qs1.values_list("pk", flat=True)) == sorted(qs2.values_list("pk", flat=True))

# option 2 (need to assert length first because set might remove duplicates)
assert len(qs1) == len(qs2)
assert set(qs1) == set(qs2)

我知道Django有一个方法django.test.TransactionTestCase.assertQuerysetEqual。pytest-django也有类似的东西吗?我在文档里没有看到它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-21 06:46:17

就在你建议的链接的起跑线上:

断言 Django的所有TestCase断言都可以在pytest_django.asserts中使用,例如from pytest_django.asserts import assertTemplateUsed

类似地,您可以从pytest_django.asserts import assertQuerysetEqual中使用

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68464926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档