您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

需要py.test从python日志记录模块记录断言错误到日志文件中

需要py.test从python日志记录模块记录断言错误到日志文件中

您可以通过使用conftest.py文件中的pytest_runtest_call挂钩来实现此目的:

import logging

def pytest_runtest_call(__multicall__):
    try:
        __multicall__.execute()
    except KeyboardInterrupt:
        raise
    except:
        logging.exception('pytest_runtest_call caught exception:')
        raise

pytest_runtest_call挂钩负责实际运行测试功能,但不负责捕获异常并报告异常。这意味着它是捕获异常并将其交给日志记录的理想场所。

与其实际更改测试函数调用方式__multicall__,不如直接调用该钩子(如果此钩子不在该钩子中,则将被调用)。

请注意,钩子记录的异常要比py.test通常报告的异常长得多。这是因为日志记录不会将堆栈截断为仅仅是测试功能,您可以根据需要自己添加它。

python 2022/1/1 18:39:35 有515人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶