Отключение регистрации плохих запросов при unittest django app

У меня есть тесты в моем приложении Django. Они работают хорошо, но я хочу отключить показ консольных логов, например .Bad Request: /api/v1/users/register/

Код одного из моих тестов

 def test_user_register_username_error(self):
        data = {
            'username': 'us',
            'email': 'mail@mail.mail',
            'password': 'pass123123',
            'password_again': 'pass123123'
        }

        url = self.register_url

        response = client.post(url, data=data)

        self.assertEqual(response.status_code, 400)
        self.assertFalse(User.objects.filter(username='us').first())

Вывод консоли

Found 1 test(s).
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.Bad Request: /api/v1/users/register/
----------------------------------------------------------------------
Ran 1 tests in 0.414s

OK

Все работает хорошо, но я хочу отключить вывод Bad Request: /api/v1/users/register/ в консоль. Я дважды проверил, нет никаких функций print или logging, которые могли бы записать это в консоль.

Как отключить сообщения типа Bad Request: /api/v1/users/register/ logging while tests

Вы можете регистрировать только ошибки во время тестов, а после их завершения вернуть обычный уровень регистрации.

class SampleTestCase(TestCase):
    def setUp(self) -> None:
        """Reduce the log level to avoid messages like 'bad request'"""
        logger = logging.getLogger('django.request')
        self.previous_level = logger.getEffectiveLevel()
        logger.setLevel(logging.ERROR)

    def tearDown(self) -> None:
        """Reset the log level back to normal"""
        logger = logging.getLogger("django.request")
        logger.setLevel(self.previous_level)
Вернуться на верх