python - Django 中 assertDatabaseHas 的等价物是什么

标签 python django testing

来自Laravel 背景学习Django。如果我的问题很幼稚,请原谅我。

response = self.client.delete(reverse('details'), kwargs={'pk':pk}, format="json")

self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)

上面的测试通过了,我想更进一步,尝试检查数据库是否真的有这个项目,当然我可以查询数据库并尝试匹配计数。 但是在 Laravel 中,我使用这些方法来检查记录的存在/不存在。

assertDatabaseHas('users', ['id' => 10]); //asserts true if record is present in users table.

assertDatabaseMissing('users', ['id' => 10]); // asserts true if record is not present in users table

Django 中是否存在类似的东西?

最佳答案

对此没有具体的断言。

你也许可以使用一个通用的 assertTrueexists 过滤器:

self.assertTrue(User.objects.filter(id=10).exists())

(通常您会使用 get() 进行 id 查询,但这不允许 exists() 并且您必须捕获 DoesNotExist 异常如果没有找到。)

关于python - Django 中 assertDatabaseHas 的等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845873/

相关文章:

python - 如何在 Python 中遍历 defaultdict(list)?

python - “模块似乎丢失”-py2exe

javascript - 在 Django 中需要上下文变量的 Javascript 最佳实践

java - 多个 Maven 项目,单个 JaCoCo 站点?

unit-testing - 错误 : Action may not be undefined in async action testing in Redux app with nock and mock-store

python - 让一个类表现得像 Python 中的一个列表

python - 与 PyQt 中的 QLabel 并发

python - Django REST 框架 : Generics or ModelViewSets?

python - 如何检测 django 应用程序中的死锁(并消除它们)

javascript - 如何用不同的输入测试一个函数