Проверьте перенаправление (и проверку сообщений) в Django - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть представление, которое перенаправляет, и я хочу проверить сообщения.

Я нашел другие подобные вопросы, и я прочитал, что я должен использовать 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, так что, вероятно, есть лучшие способы сделать это, но я проверил все мои представления, как это (с RequestFactory()), и пока я не встретил сообщение, он работал нормально.

Ответне имеет контекста, поэтому я не знаю, где проверить сообщения.

Советы, мнения, решения? Спасибо

...