Search code examples
python-3.xpytestfixtures

Pytest capture not working - caplog and capsys are empty


I am trying to create unit tests for a logger, but - even though the events are logged - the caplog and capsys remain empty.

What am I doing wrong?


Solution

  • It turned out that my logger had property propagate set to False. As a result, the events were not forwarded to LogCaptureHandler added by pytest to the root logger.

    Both caplog and capsys depend on LogCaptureHandler receiving the propagated events.

    LogCaptureHandler