3

ノーズテストを実行するとき、インタラクティブなコンソールに立ち寄りたいと思います。ただし、コードのどこかに次を配置すると:

import code
code.interact(local=locals())

Nose は (InteractiveConsole) を出力するだけで、コマンドを入力するためのコンソールを提供しません。Pytest は code.interact を失敗として扱います。ファイルの変更を監視しながらテストを実行するときに、コンソールにドロップする方法はありますか?

4

1 に答える 1

5

pytest でインタラクティブなセッションを取得する 1 つの方法は、次のようにブレークポイントを設定することです。

import pdb
pdb.set_trace()

通常、pytest はこの対話型セッションを抑制し、ブレークポイントに達するとハングします。-sコマンドライン出力のキャプチャを無効にするフラグを指定してpytestを実行することで、これを回避できます。

pytest の最新バージョンではpytest.set_trace()、フラグなしで使用するだけ-sで同じ動作を得ることができます。詳細については、ドキュメントを参照してください。

于 2013-10-04T12:33:06.053 に答える