如果 form.is_valid 是测试视图的最聪明方法?
Smartest way to test a view if form.is_valid?
正在寻找一种好的方法来测试属于有效形式的视图的一部分:
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 not valid')。
如果form.is_valid,我如何测试我认为的部分?
assertTrue(expr, msg=None)
检查bool(x) is True
,而不是x is True
所以,你应该调用函数(使用括号)
self.assertTrue(form.is_valid<b>()</b>)
<b>^^ here</b>
正在寻找一种好的方法来测试属于有效形式的视图的一部分:
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 not valid')。
如果form.is_valid,我如何测试我认为的部分?
assertTrue(expr, msg=None)
检查bool(x) is True
,而不是x is True
所以,你应该调用函数(使用括号)
self.assertTrue(form.is_valid<b>()</b>)
<b>^^ here</b>