112

テスト スイートに pytest を使用しています。複雑なコンポーネント間テストでバグをキャッチしながらimport ipdb; ipdb.set_trace()、コードの途中に配置してデバッグできるようにしたいと考えています。

ただし、pytest は sys.stdin/sys.stdout をトラップするため、ipdb は失敗します。pytest でのテスト中に ipdb を使用するにはどうすればよいですか。

障害の後に pdb または ipdb にジャンプすることには興味がありませんが、コードの任意の場所にブレークを配置して、障害が発生する前にデバッグできるようにすることに関心があります。

4

5 に答える 5

170

pytest はデフォルトで出力をキャプチャするため、エラーが発生します。

オプションでpytestを実行でき-sます(キャプチャ出力をオフにします)。例えば:

py.test -s my_test.py

そして次にmy_test.py

import ipdb;
ipdb.set_trace()
于 2013-05-06T21:29:06.177 に答える