来自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 中是否存在类似的东西?
最佳答案
对此没有具体的断言。
你也许可以使用一个通用的 assertTrue
和 exists
过滤器:
self.assertTrue(User.objects.filter(id=10).exists())
(通常您会使用 get()
进行 id 查询,但这不允许 exists()
并且您必须捕获 DoesNotExist 异常如果没有找到。)
关于python - Django 中 assertDatabaseHas 的等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845873/