首页 > 解决方案 > 如何在 python 中对记录器功能进行单元测试

问题描述

我是 Python 单元测试的新手,所以我想从这个片段开始,我如何对这个函数进行单元测试?

def log():

    log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')

    logFile = './df_logger.log'

    handler = RotatingFileHandler(logFile, mode='a', maxBytes=1*1024*1024*1024, 
                                 backupCount=2, encoding=None, delay=0)

    console_handler = logging.StreamHandler(sys.stdout)
    console_handler.setFormatter(log_formatter)
    handler.setFormatter(log_formatter)
    handler.setLevel(logging.INFO)

    logger = logging.getLogger('root')
    logger.setLevel(logging.INFO)

    logger.addHandler(handler)
    logger.addHandler(console_handler)
    return logger

标签: pythonunit-testing

解决方案


此函数返回一个记录器处理程序,其中包含您在其中所做的一些设置。

我会模拟日志记录,并断言设置。这是一个例子:

如何修补/模拟 logging.getlogger()


推荐阅读