gpt4 book ai didi

python - 使用用户对象在 Django 中测试表单

转载 作者:行者123 更新时间:2023-11-28 21:08:21 24 4
gpt4 key购买 nike

我正在进行测试 - 我在 clean 方法中有一个带有大量逻辑的小表单。

我的测试是这样的:

class DependentFormTest(TestCase):

def test_dependent_form_birthdate_out_of_range(self):
form_data = {
'first_name': 'Bill',
'last_name': 'Robusin',
'birth_date': '10/12/1801',
'gender': 'Male',
'relationship': 'dependent',
'street_address_1': '123 Any lane',
'city': 'Billson',
'state': 'WA',
'zip': '50133',
}
form = DependentForm(data=form_data)
self.assertFalse(form.is_valid())

在我的 clean 方法中,我可以访问有关当前用户的一些信息。失败的片段如下所示:

user_benefit = Benefit.objects.get(user=self.user)

这一行是导致我的测试出错并出现以下错误的原因:

利益匹配查询不存在

这是真的,因为在测试中“用户”是“无”。

如何在我的测试中设置用户以便我可以测试此表单的有效性?

最佳答案

在您的测试 setUp() 方法中,您可以创建一个用户用于测试目的。然后重复使用它。

据我了解,您的用户来自请求。因此,您需要使用 django 测试客户端登录并将数据发布到您的表单中。

关于python - 使用用户对象在 Django 中测试表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46730824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com