pytest:如何在被测函数中显示来自logging.debug的消息

时间:2018-07-22 15:27:58

标签: debugging logging pytest

''' func.py '''
import logging

def func():
    ''' func '''
    logging.basicConfig(
        format="\t %(filename)s"
        " %(funcName)s"
        "-ln%(lineno)d"
        " %(levelname)s \n%(message)s",
        level=logging.DEBUG,
        # stream=sys.stdout,
    )
    logger = logging.getLogger()
    logger.info(" >>> logger func info")
    logger.warning(" >>> logger func warning")
    print(" >>> print func info")


def test_func():
    ''' test func '''
    # caplog.set_level(logging.DEBUG)
    func()


if __name__ == "__main__":

    test_func()

假设我将上面的代码另存为func.py。当我跑步时

pytest -s func.py

我得到

" >>> print func info".

我如何获得

" >>> logger func info" 

“ >>>记录器功能警告”

我跑步时

pytest -s func.py

出于以下原因,我希望可以这样做。我通常在我的代码中插入logging.debug / info等。有时,当我运行pytest时,我想查看logging.debug / info发出的消息。我在网上搜索了很长时间,但找不到方法。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

方法-在pytest.ini中添加:

.welcome

然后使用

运行pytest
​