pytest 不显示记录器记录

时间:2020-12-28 14:43:20

标签: python logging pytest

pytest 不会向我显示测试期间发生的记录器记录。检查配置中是否启用了日志记录并且该级别为 DEBUG,将 log_cli = 1 添加到 pytest.ini,仍然不起作用。

它可以很好地捕获 stdout 和 stderr,因此显示了通常的 print()
按照 here 的建议尝试使用 -r a 运行,但无济于事。

在我的测试中添加了 caplogcaplog.records[]

我知道代码到达日志发射点(通过使用打印)。

编辑:最小的可重复示例:

class TestLogging:
    def test_logging(self):
        from app import logger
        logger.error("log test")  # nothing shows up
        print("print test")  # prints as expected
        assert False

    def test_caplog(self, caplog):
        from app import logger
        logger.error("log test")  # nothing shows up
        print(caplog.records)  # prints '[]'
        assert False


一起运行 FLASK_ENV=testing pipenv run pytest controller/tests/test_user_routes.py -k test_logging

FLASK_ENV=testing pipenv run pytest controller/tests/test_user_routes.py -k test_caplog

EDIT2:设置以及如何设置记录器:https://pastebin.com/EG8g90m5

0 个答案:

没有答案