多くの場合、テストが失敗すると、失敗の原因を突き止めようとかなりの時間を費やします。テストが失敗したときに RSpec が Ruby デバッガーを起動できると便利です。そうすれば、すぐにローカル変数を調べて原因を掘り下げることができます。
私が現在使用している回避策は次のようになります。
# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil
ただし、このアプローチは面倒です。最初にテストが失敗するのを待ってからデバッガー行を追加し、問題を修正してからデバッガー行を削除する必要があるためですgdb
。コードベースにdebugger
ステートメントを追加する必要なく、例外が発生します。
編集:プリマスを試しました。それは私にとって十分に確実に機能していません。また、開発履歴を見ると、あまりサポートされていない gem であるように思われるので、あまり依存したくありません。
更新:試してみたところpry-rescue
、きちんとしていることがわかりました。しかし、私はzeusをよく使うので、 で動作させる方法があるかどうか疑問に思っていましたpry-rescue
。