スタックトレースは切り捨てられます - 例えば、それらはで終わります[info] ...
使用しlast
たり変更したりtraceLevel
しても役に立ちません。単に sbt ラッパーの完全なスタック トレースを出力するだけです。
これはtestngでテストしています(また、scalatestとsl4jを使用していると思います)
ここのドキュメントにあるヒントを使用する:
(引用)
sbt で実行したときに表示される出力を 4 つの方法で構成できます: 1) 色をオフにする、2) 短いスタック トレースを表示する、3) 完全なスタック トレースを表示する、4) すべての期間を表示する。そのためには、-o 引数を ScalaTest に渡し、-o の後に次の任意の組み合わせを配置する必要があります。
- D - 表示期間
- S - 短いスタック トレースを表示
- F - 完全なスタック トレースを表示
- W - 色なし
たとえば、「-oDF」は、完全なスタック トレースと期間 (各テストに費やされた時間) を表示します。
sbt から ScalaTest に引数を渡すには、次のようにテスト オプションをグローバルに追加できます。
testOptions in Test += Tests.Argument("-oD")
(引用の残りの部分については、ウェブサイトを参照してください)
次の sbt コマンドを使用して、テストで完全なスタック トレースを有効にできます。
> set testOptions in YourProjectName += Tests.Argument("-oF")
Sasha のコメントによると、これは、以下に示すように、テスト実行ごとにコマンド ラインから行うこともできます。
$ sbt test -- -oF
SBT に完全なスタック トレースを出力させる代わりに、テスト ランナーの周りにtry
-ブロックを配置できますか? catch
たとえば、REPL から:
scala> try { throw new Exception } catch { case e => e }
res1: java.lang.Throwable = java.lang.Exception
scala> res1.printStackTrace
java.lang.Exception
at $line2.$read$$iw$$iw$.liftedTree1$1(<console>:8)
at $line2.$read$$iw$$iw$.<init>(<console>:8)
at $line2.$read$$iw$$iw$.<clinit>(<console>)
...