58

スタックトレースは切り捨てられます - 例えば、それらはで終わります[info] ...

使用しlastたり変更したりtraceLevelしても役に立ちません。単に sbt ラッパーの完全なスタック トレースを出力するだけです。

これはtestngでテストしています(また、scalatestとsl4jを使用していると思います)

4

2 に答える 2

70

ここのドキュメントにあるヒントを使用する:

(引用)

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
于 2014-12-12T16:55:31.960 に答える
5

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>)
    ...
于 2011-08-30T05:03:30.560 に答える