8

junit-interfaceランナーには、次の便利なオプションがありました。

-q テストが成功した場合、stdout を抑制します。Stderr は通常どおりコンソールに出力されます。Stdout はバッファーに書き込まれ、テストが成功すると破棄されます。失敗した場合、バッファーはコンソールにダンプされます。Java での stdio リダイレクトは不適切な処理であるため (System.setOut() はネイティブ コードを介して static final フィールド System.out を変更します)、これはすべてのシナリオで機能するとは限りません。Scala には、適切なリダイレクト機能を備えた独自のコンソールがあります。クラスパスで Scala が検出された場合、junit-interface は scala.Console の stdout も再ルーティングしようとします。

scalatest に同じことをさせる簡単な方法があるかどうか疑問に思っていました。出力を自分でリダイレクトすることもできますが、可能であれば標準的なものを使用したいと思います。

4

2 に答える 2

0

ScalaTest Web サイトのこの情報によると、いくつかのメッセージを抑制するためにいくつかのフラグを設定できます。

build.sbt に次のような行を追加すると、ロガーは成功したテストを stdout に表示しません。

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oN")

于 2016-10-26T09:04:49.677 に答える