2017-03-24 14 views
0

pytest capsys fixtureは本当に便利ですが、フィクスチャとして含まれるとすぐにすべてをキャプチャします。私は、テストの特定の行の出力をキャプチャしたいだけです。明示的に有効にされたcapsys pytestフィクスチャ

これは、実際には「無効」文脈提供しません:capsysは何とか固定治具でそれが可能です

def test_disabling_capturing(capsys): 
    print('this output is not captured') 
    with capsys.enabled(): 
     print('output is captured') 
    print('this output is also not captured') 

def test_disabling_capturing(capsys): 
    print('this output is captured') 
    with capsys.disabled(): 
     print('output not captured, going directly to sys.stdout') 
    print('this output is also captured') 

をしかし、私はそれの逆のような何かをしたいですか?

答えて

0

今回のバージョンのPythonは既にcontextlibの機能を提供しているので、この機能はまったく必要ないと判断しました。フィクスチャを使用するのではなく、単にコンテキストマネージャをインポートするだけでは不都合はありません。

インターフェースが別々に設けられているredirect_stdoutredirect_stderr点でわずかに異なっているが、必要に応じてcapsysが提供する固定具インタフェースの同じ種類にそれらを包むことが自明です。

関連する問題