寻找一种测试属于有效形式的视图一部分的好方法:
Views.py:
def calendar_request(request):
form = create_event(request.POST)
if form.is_valid():
date = request.POST['date']
time = request.POST['time']
return HttpResponseRedirect(request.path)
else:
print('Form not valid')
所以我检查了表格在我的tests.py中是否有效:
def test_form_valid_request(self):
date = '2019-04-16'
time = '14:00'
form_data = {'date':date,
'time':time,}
form = create_event(data=form_data)
self.assertTrue(form.is_valid)
效果很好。因此,我继续在测试函数中添加了以下几行:
response = client.get(reverse('test_form'), form_data)
self.assertEqual(response.status_code, 200)
让我感到困惑的是,AssertTrue(form.is_valid)在测试期间可以工作,但是在我的控制台中我总是得到打印信息(“表单无效”)。
如果form.is_valid,如何在视图中测试零件?
答案 0 :(得分:1)
assertTrue(expr, msg=None)
检查 bool(x) is True
,而不检查 x is True
因此,您应该已经调用了函数(使用括号)
self.assertTrue(form.is_valid())
^^ here