2017-02-19 4 views
0

Я сделал приложение django и пишу тесты для него. В одном из моих взглядов, я вручную бросать исключение:Как справиться с просмотром ручного исключения в django в модульном тестировании?

raise Http404('Not authorised')

Во время написания теста для этого с помощью Джанго встроенной тестовой структуры (на основе UnitTest).

TL; DR: Есть ли способ написать тест таким образом, чтобы он действительно возвращал Http404. (assertEqual(response.status_code, 404 не работает)

+1

Вы пытались использовать ['assertRaises'] (https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRaises)? Также вы можете показать свой тестовый код? –

+0

Будет проверять assertRaises! спасибо @ shiplu.mokadd.im –

+0

«не работает» недостаточно ясно. Пожалуйста, вставьте полную трассу – Udi

ответ

0

Это должно работать:

resp = self.client.get(url) 
self.assertEqual(resp.status_code, 404) 

Выполните тесты с помощью:

python manage.py test 

Если это не так, перепроверить свой код и предоставить сообщение об ошибке.

+0

Да, это не работает. 'assertEqual' не работает. –

Смежные вопросы