Я тестирую часть входа в приложение django.мой рабочий процесс - client.get ('/ run / эксперимент / 1') -> ответ 302, перенаправить на страницу входа -> client.post ('loginpage', {'username': 'tester', 'password': 'tester '}) -> client.get (' / run / эксперимент / 1 ') -> ответ 200. Я проверил этот поток в оболочке (введите и выполните командную строку за строкой), и он работал как ожидалось.Но когда я пишу тестовый файл, даже после публикации логина, я все равно получаю статус 302 при попытке client.get.Вот мой код:
from django.test import TestCase, Client
class TestRunRequireLogin(TestCase):
def setUp(self):
self.client = Client()
def test_rerun_not_login(self):
response = self.client.get('/experiment/1')
self.assertEqual(response.status_code, 302)
def test_rerun_login(self):
self.client.post('/accounts/login/?next=/run/experiment/1', {'username': 'tester', 'password': 'tester'})
response = self.client.get('/experiment/1')
self.assertEqual(response.status_code, 200)
Так что мой вопрос, когда в test_rerun_login, почему я все еще получил 302 после входа в систему