Я пишу тестовые примеры для своего приложения Django, но я использую пакет запросов в Python для доступа к коду состояния, а затем использую оператор assert. Этот тест предназначен только для пользователей о персонале:Как получить код статуса с помощью библиотеки запросов при tesing в Django
class StaffClientServerTestCase(TestCase):
def test_login_staff(self):
User.objects.create_superuser('abc', '[email protected]', '1234')
self.client.login(username='abc', password='1234')
self.client.get('/dashboard/')
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
self.assertEqual(200, s.status_code)
Только пользователи сотрудники имеют доступ к панели управления, поэтому я создал пользовательский объект персонала. Следующая строка
self.client.login(username='abc', password='1234')
подходит для печати. self.client.get('/dashboard/')
Если я распечатаю эту строку, он отобразит содержимое html страницы, что означает, что мой пользователь может получить доступ к dashboard
.
Но когда я использую модуль запроса, чтобы увидеть код состояния dashboard
, он показывает, что status code = 500
, и мой тест не работает.
s = requests.get('http://localhost:8000/dashboard/') print s.status_code
Может кто-нибудь сказать мне, где я неправильно здесь? Почему мой код состояния выходит на 500, хотя пользователь может получить доступ к панели управления и распечатать его содержимое с помощью print self.client.get('/dashboard/')
. Помогите!
Вы должны либо указать учетные данные авторизации на 'request.get', либо не использовать' request.get' вообще в своих тестах и test 'self.client', потому что вы входите в систему с помощью метода' self.client' и ' request.get' - еще одна вещь, поэтому вход в систему с 'self.client' не означает, что впоследствии вы будете аутентифицированы, чтобы делать другие вещи с другой библиотекой (например,' запросы здесь). Просто подумайте о том, что вы должны тестировать и просто проверяйте. Также HTTP 500 не является правильным кодом состояния, если вы просто не аутентифицированы, поэтому вы должны исправить свою панель. – dopstar
Любая идея, как получить код статуса? Мне нужно проверить код состояния. – python
Я отключил мою страницу администратора, поэтому я получил код состояния 500. – python