Attractor-School-Python-16 / AccessibleBIM

Bologna Engineering Experience
http://164.90.198.101.nip.io
3 stars 1 forks source link

Исправить логи в юнит тестах #440

Closed Em1rloneum closed 12 months ago

Em1rloneum commented 1 year ago

Когда запускаю тесты:

python manage.py test

То во время выполнения если в тестах поднимаются ошибки (преднамеренные) то в консоль выводится полный Traceback. В основном это ошибки 404 и Persmission denied.

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/auth/mixins.py", line 108, in dispatch
    return self.handle_no_permission()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/auth/mixins.py", line 48, in handle_no_permission
    raise PermissionDenied(self.get_permission_denied_message())
django.core.exceptions.PermissionDenied
Not Found: /ru/quiz_bim/quiz/999/update/

Сами тесты работают исправно.

Нужно найти способ выключать логирование при запуске тестов. Возможный способ решения делать проверку в settings.py как:

if 'test' in sys.argv:
    # Выключаем логи...
Tassiia commented 12 months ago

Сделала эту задачу в рамках задачи #452 с помощью следующего кода:

if len(sys.argv) > 1 and sys.argv[1] == 'test':
    logging.disable(logging.CRITICAL)