Как запустить тестирование носа для кода с пользовательским уровнем логирования? - PullRequest
0 голосов
/ 19 февраля 2019

В нашем коде мы добавили пользовательский логический уровень TRACE как:

def add_trace_log_level():
    logging.addLevelName(TRACE_LOG_LEVEL, "TRACE")

    def trace(self, message, *args, **kws):
        if self.isEnabledFor(TRACE_LOG_LEVEL):
            # Yes, logger takes its '*args' as 'args'.
            self._log(TRACE_LOG_LEVEL, message, args, **kws)
    logging.Logger.trace = trace

, а в коде мы используем его как: logger.trace("....")

При тестировании отдельных функций с помощью теста на нос тест не пройденесли add_trace_log_level не вызывается в начале теста.

Ожидается, что logger.trace не определено.Мы решили это купить, позвонив add_trace_log_level в начале каждого теста, но это выглядит как очень плохое решение

Есть ли лучшее решение?Насколько я знаю, тесты должны проходить или не проходить независимо от конфигурации логов.

...