我有一个重定向的视图,我想检查消息。
我发现了其他类似问题,我读到我应该使用follow=True
。
我是一名初学者,所以也许我想念一些东西,但是我没有使用客户端进行测试,所以我无法使用Follow(或者无论如何我都不知道在哪里使用它)。
因此,我怀疑我是否以正确的方式行事,以及是否可以测试消息。
这是我要测试的代码
# my view
def ImportName(request):
if request.method == 'POST':
# code
else:
messages.add_message(request, messages.ERROR,
_('Form non valida.'), extra_tags='import_name')
return redirect('lists:addname')
# my test
def test_importname(self):
self.request = RequestFactory(spec=NameForm)
# test a not POST call
self.request.method = 'GET'
self.request._messages = Mock()
resposte = ImportName(self.request)
resposte.client = Client()
self.assertEqual(resposte.status_code, 302)
self.assertRedirects(resposte, reverse('lists:addname'))
就像您看到我需要来定义属性_messages
和.client
一样,所以可能有更好的方法可以做,但是我这样测试了所有视图(使用{ {1}}),直到我收到消息为止,一切正常。
响应没有上下文,因此我不知道在哪里检查消息。
建议,意见,解决方案?谢谢