90

nosetests --pdbエラーまたは障害が発生した場合は停止させてください。しかし、これでは私のニーズには遅すぎます。実行中にコードをステップ実行すると、問題がどこにあるかをデバッグするのに役立ちます。

しかし、相対インポートに依存するテスト (つまり、パッケージ内のテスト) を許可するので、nosetests は役に立ちます。

テストを実行する前にブレークポイントを設定するにはどうすればよいですか? 現在私は使用しています:

python -m pdb /path/to/my/nosetests testfile.py

この解決策は適切ではありません。Nosetest が pdb の出力に干渉し、キーボード コントロール (矢印キーなど) が壊れています。

インポート pdb を使用します。pdb.set_trace() は良いアイデアのように思えますが、nosetests が pdb コンソールへのアクセスをブロックしています。

4

4 に答える 4

122

あなたは付け加えられます

import pdb; pdb.set_trace() 

デバッガーで停止したいソース内の任意の場所。

-s引っかからないように必ず鼻先までパスしてくださいstdout

于 2011-02-09T21:28:45.030 に答える