単体テストが失敗した場合、できれば IPython を使用して、対話型セッションに参加できるようにしたいと考えています。これを行う簡単な方法はありますか?
編集:「インタラクティブセッション」とは、pdbシェルではなく完全なPython REPLを意味します。
edit edit : 詳細な説明として: テストの失敗が発生したコンテキストにアクセスできる対話型セッションを開始できるようにしたいと考えています。たとえば、テストのself
変数が使用可能になります。
単体テストが失敗した場合、できれば IPython を使用して、対話型セッションに参加できるようにしたいと考えています。これを行う簡単な方法はありますか?
編集:「インタラクティブセッション」とは、pdbシェルではなく完全なPython REPLを意味します。
edit edit : 詳細な説明として: テストの失敗が発生したコンテキストにアクセスできる対話型セッションを開始できるようにしたいと考えています。たとえば、テストのself
変数が使用可能になります。
IPython では、テストを実行する前に %pdb を使用します
In [9]: %pdb
Automatic pdb calling has been turned ON
Nosetests ランナーは--pdb
、エラーまたは失敗時にデバッガー セッションに入るオプションを提供します。
これを実行してもよろしいですか?単体テストは 1 つのことを行う必要があり、適切な名前を付け、失敗したものを明確に出力する必要があります。これらすべてを実行すると、失敗メッセージによって何が問題なのかが特定されます。インタラクティブに見る必要はありません。実際、TDD の大きな利点の 1 つは、問題を診断するためにデバッガーを起動する必要がまったくないことです。