来自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 异常如果没有找到。)
