Tags
Advertisement
Your Ad could be here. I want to connect my readers to relavant ads. If you have a product targeted at developers, let's talk. [email protected]
Testing print/log statements in pytest can be a bit tricky, capsys makes it super easy, but I often struggle to find it.
capsys
capsys is a builtin pytest fixture that can be passed into any test to capture stdin/stdout. For a more comprehensive description check out the docs on capsys
using capsys
Simply create a test function that accepts capsys as an argument and pytest will give you a capsys opject.
def test_print(capsys): print('hello') captured = capsys.readouterr() assert 'hello' in captured.out print('world') captured = capsys.readouterr() assert 'world' in captured.out