【问题标题】:how to unittest in python for a logger function如何在 python 中对记录器功能进行单元测试
【发布时间】:2020-01-14 11:24:02
【问题描述】:

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

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

【问题讨论】:

    标签: python unit-testing


    【解决方案1】:

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

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

    How can I patch / mock logging.getlogger()

    【讨论】:

      猜你喜欢
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 2022-11-29
      • 2018-02-25
      • 2011-09-16
      • 1970-01-01
      • 2016-09-29
      相关资源
      最近更新 更多