如何编写单元测试来测试删除模型中的记录
How to write unit test to test deleting a record in a model
我有一个模型,我想编写一个单元测试来测试模型上的删除操作,我已经为创建、读取和更新编写了代码,但我看不懂删除应该如何工作。
这是我的代码。
def create_pay(self):
pay = Pay.objects.create(user=self.user, amount=2000, appointment_count=2)
return payout
这是我调用 create_pay 方法来测试删除操作的方法
def test_payout_model_delete(self):
payout = self.create_payout()
get_payout = Payout.objects.get(pk=payout.pk)
del_pay = get_payout.delete()
self.assertEqual(del_pay, (None))
但是它给了我这个错误
断言错误: (1, {'doctors.Payout': 1}) != None
重新查询记录并使用 exists() 验证它不再存在。
def test_payout_model_delete(self):
payout = self.create_payout()
pk = payout.pk
get_payout = Payout.objects.get(pk=payout.pk)
del_pay = get_payout.delete()
self.assertFalse(Payout.objects.filter(pk=pk).exists())
您可以使用计数而不是删除方法return类型,
def test_payout_model_delete(self):
payout = self.create_payout()
payouts_len = Payout.objects.count()
get_payout = Payout.objects.get(pk=payout.pk)
get_payout.delete()
self.assertEqual(Payout.objects.count(), payouts_len - 1)
我有一个模型,我想编写一个单元测试来测试模型上的删除操作,我已经为创建、读取和更新编写了代码,但我看不懂删除应该如何工作。 这是我的代码。
def create_pay(self):
pay = Pay.objects.create(user=self.user, amount=2000, appointment_count=2)
return payout
这是我调用 create_pay 方法来测试删除操作的方法
def test_payout_model_delete(self):
payout = self.create_payout()
get_payout = Payout.objects.get(pk=payout.pk)
del_pay = get_payout.delete()
self.assertEqual(del_pay, (None))
但是它给了我这个错误 断言错误: (1, {'doctors.Payout': 1}) != None
重新查询记录并使用 exists() 验证它不再存在。
def test_payout_model_delete(self):
payout = self.create_payout()
pk = payout.pk
get_payout = Payout.objects.get(pk=payout.pk)
del_pay = get_payout.delete()
self.assertFalse(Payout.objects.filter(pk=pk).exists())
您可以使用计数而不是删除方法return类型,
def test_payout_model_delete(self):
payout = self.create_payout()
payouts_len = Payout.objects.count()
get_payout = Payout.objects.get(pk=payout.pk)
get_payout.delete()
self.assertEqual(Payout.objects.count(), payouts_len - 1)