2015-04-07 175 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())) 
} 
相关问题