У меня есть следующие настройки логгера:
logger = logging.getLogger(__name__)
logger.setLevel(logging.ERROR)
file_handler = logging.FileHandler('foo.log')
formatter = logging.Formatter('%(asctime)s: %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
Как мне остановить регистратор от фактической записи записи на диск во время модульного тестирования?В настоящее время я проверяю, что logger.error
вызывается следующим образом:
@mock.patch('mymodule.logger')
def test_error_is_logged(self, mock_logger):
mymodule.func() # this causes an error to be logged
self.assertTrue(mock_logger.error.called)
Вышеприведенный тест работает правильно, однако файл журнала foo.log
создается на диске, которого я хочу избежать.Все, что я хочу знать - это если logger.error
вызывается во время создания файла.