Фильтрация предупреждений в тестах django - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь выдать некоторые предупреждения, выданные django, как ошибки в моих модульных тестах.

Я настроил свои параметры теста следующим образом:

from warnings import filterwarnings
from django.core.paginator import UnorderedObjectListWarning

filterwarnings('error', category=UnorderedObjectListWarning)

Когда я запускаю тест на одном приложении, предупреждение корректно генерируется как исключение. Но если я запускаю свой тест в глобальном масштабе, исключение не возникает.

./manage.py test myapp  # warnings are raised as exception
./manage.py test  # no exception

Почему у меня есть это различие и как я могу получить предупреждения в качестве исключения при выполнении всех моих тестов?

1 Ответ

0 голосов
/ 07 февраля 2020

Вы можете сделать:

try:
    function_you_want_to_test()
except CustomException:
    self.assertTrue(False)  # This code is only executed if the CustomException is thrown.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...