在测试期间抑制std.err

时间:2015-04-07 01:43:26

标签: scala specs2

我正在运行使用第三方库的scalacheck测试。该库为std.err打印了很多我正在检查的属性。如何仅在测试执行期间抑制此噪声?

我尝试在规范中重定向std.err,但这没有效果。

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

1 个答案:

答案 0 :(得分:1)

不确定为什么prop块内的错误设置不起作用,但这样做:

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