断言工作Django

时间:2018-05-03 08:23:33

标签: django testing post assertion

我刚刚写了一些关于我的表单的测试用例,这里有一个:

def test_department_admin_creation(self):

    nb = Department.objects.count()
    response = self.client.post(self.url, {"name" : 'department', "organization" : self.organization})
    self.assertEqual(response.status_code, 200)
    self.assertEqual(nb+1,Department.objects.count())

我想知道为什么最后一个断言在status_code断言时没有起作用。

 AssertionError: 2 != 1

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢Daniel Roseman,我找到了解决方案:

我在我的帖子参数中传递了一个“组织”,而表单需要一个整数(组织的id)。 正确的代码是:

    nb = Department.objects.count()
    response = self.client.post(self.url, {"name" : 'department', "organization" : self.organization.id})
    self.assertEqual(response.status_code, 302)
    self.assertEqual(nb+1,Department.objects.count())