2015-04-07 171 views
1

我正在運行使用第三方庫的scalacheck測試。該庫打印很多std.err我正在檢查的屬性。我只能在測試執行期間如何抑制這種噪音?測試期間抑制std.err

我試着重定向std.err在規範本身,但這沒有效果。

def aFailureScenario = prop { input: Input => 
    System.setErr(new PrintStream(new ByteArrayOutputStream())) 
    subject.method(input) must beNone 
    } 
+1

是您的庫中的Scala庫,這可能是使用'Console.err'而不是隻是'System.err'?我也無法重現你所看到的。它適用於我一個簡單的規範。 – Eric

+0

是的,這是scopt。 – Synesso

+1

也許你可以嘗試'Console.setErr'或'Console.withErr'。 – Eric

回答

1

不知道爲什麼錯誤的道具塊內的設置沒有工作,但這:

class FooSpec extends Specification with BeforeAll { 
    ... 
    override def beforeAll(): Unit = 
    System.setErr(new PrintStream(new ByteArrayOutputStream())) 
} 
相關問題