Nosetests --pdbエラーまたは失敗時に停止させてもらいますが、これは私のニーズにとっては遅すぎます。実行中にコードをステップ実行すると、どこに問題があるのかをデバッグするのに役立ちます。nosetests --pdbオプションを使用してブレークポイントを設定する
しかし、nosetestsは、相対インポート(つまり、パッケージ内のテスト)に依存するテストを許可するので便利です。
テストを実行する前にブレークポイントを設定するにはどうすればよいですか? 現在、私は以下を使用しています:
python -m pdb /path/to/my/nosetests testfile.py
この解決方法は適切ではありません。 Nosetestsがpdb出力を妨げ、キーボードのコントロール(矢印キーなど)が壊れています。
import pdbを使用しています。 pdb.set_trace()は良い考えですが、nosetestsはpdbコンソールへのアクセスをブロックしています。
私は私の質問にこれを追加するちょうど約ました。これは許容可能な解決策でもありません。これをnosetestsとともに使用すると、pdbコンソールへのアクセスがスクリーニングされ、pdbコマンドが実行されないため、文字通り使用できないことは明らかです。 – Devin
nosetestsに-sフラグを付けてstdoutをキャプチャできないようにすると、pdbをうまく使うことができます。 –
しかし、これはブレークポイントには役に立ちません。 – SkyLeach