Rubyコードをテストしていて、失敗したTest :: Unit :: TestCaseを持っています。残念なことに、失敗レポートでは、完全なスタックトレースではなく、一番上のエラーだけが表示されます。具体的には、それは言う:Test :: Unit :: TestCaseからスタックトレースを取得する方法
1) Failure:
test_tp_make(TestScripts::TestTpMake) [test/test_scripts.rb:73]:
Exception raised:
<#<NoMethodError: undefined method `[]' for nil:NilClass>>.
参照の行番号(73)が順番に順番に大規模なライブラリへのコール別のコードブロックを、開始私のテストケースでassert_nothing_raisedコードブロックの開始です。
私はこのテストを--verboseフラグで実行しようとしましたが、残念ながらこれは例外出力を変更しません。私はTest :: Unitのドキュメントを調べてみましたが、利用可能なオプションを列挙していないようです(例えば、有用なものはありません。here)。 WebとStackOverflowを検索すると、Railsでスタックトレースを有効にする方法に関するいくつかの回答が浮上しましたが、これはRails以外のルビコードです。
テストから失敗したコードを抽出してTest :: Unitの外で実行すると、すべての出力を見ることができます。しかし、私は失敗したテストがあるたびにこれを行うのは苦痛です。
誰かが私に完全なスタックトレースを与えるTest :: Unitを取得する方法を知っていますか?
あなたは 'rake'でテストを実行していますか? – Casper
いいえ、すくいが走っていません。 –
これはRuby 1.8、Ruby 1.9、またはその両方にありましたか? –