Python Django测试客户端POST未发送数据
我正在使用Django1.11、Python3.6和VisualStudio,我正在尝试运行单元测试,但在测试处理表单的视图方法时遇到了一些问题 这是我的测试:Python Django测试客户端POST未发送数据,python,django,visual-studio,unit-testing,django-views,Python,Django,Visual Studio,Unit Testing,Django Views,我正在使用Django1.11、Python3.6和VisualStudio,我正在尝试运行单元测试,但在测试处理表单的视图方法时遇到了一些问题 这是我的测试: def test_post_newComment(self): # Login self.client.login(username="user1", password="user1") # Data form data = {'title': 'Test', 'queja':2} # Res
def test_post_newComment(self):
# Login
self.client.login(username="user1", password="user1")
# Data form
data = {'title': 'Test', 'queja':2}
# Response to post client request
response = self.client.post(reverse('newComment'), data)
# Check response
self.assertTrue(isinstance(response, HttpResponseRedirect))
self.assertEqual(response.status_code, 302)
....
这里是我的Views.py方法,在这里我可以看到request.POST是一个空的dict,所以表单永远不会填入self.client.POST
@login_required(login_url='/login/')
def nuevoComentario(request):
assert isinstance(request, HttpRequest)
# User validation
if not (request.user.is_authenticated):
return HttpResponseRedirect('/login/')
# If the forms has been submitted
if (request.method == 'POST'):
form = NewCommentForm(request.POST)
if (form.is_valid()):
...
request.POST始终是一个空的dict。我已尝试将“content\u type”参数添加到self.client.POST请求中,但我也获得了相同的结果(request.POST到达views.py方法的值为空).看起来您缺少的是
客户端中的数据。post
看起来您缺少的是客户端中的数据。post
你好@阿尔瓦罗索。你解决这个问题了吗?我想我现在也一样了……嗨,阿尔瓦罗索。你解决这个问题了吗?我想我现在也一样。。。