Я пытаюсь написать несколько тестов для приложения Django, над которым я работаю, но я еще не определился с точными URL-адресами, которые я хочу использовать для каждого представления.Поэтому я использую именованные URL в тестах.
Например, у меня есть URL с именем dashboard:
c = Client()
resp = c.get(reverse('dashboard'))
Это представление должно быть доступно только зарегистрированным пользователям.Если текущий пользователь является анонимным, он должен перенаправить его на страницу входа, которая также является URL-адресом.Тем не менее, когда он делает это, он использует дополнительный параметр GET для отслеживания URL-адреса, с которого он только что пришел, что приводит к следующему:
/login?next=dashboard
Когда я пытаюсь проверить это перенаправление, происходит сбойиз-за этих дополнительных параметров:
# It's expecting '/login' but gets '/login?next=dashboard'
self.assertRedirects(resp, reverse('login'))
Очевидно, это работает, если я жестко запрограммирую их в тесте:
self.assertRedirects(resp, '/login?next=dashboard')
Но тогда, если я когда-нибудь решу изменить URL для моегоВ представлении панели мониторинга мне придется обновлять каждый тест, в котором он используется.
Есть ли что-то, что я могу сделать, чтобы упростить обработку этих дополнительных параметров?
Любой совет приветствуется.
Спасибо.