2013-08-05 34 views
6

随着junit-interface亚军,有这个方便的选项:如何只显示一个scalatest测试的标准输出,如果失败

-q禁止标准输出成功的测试。 Stderr通常会打印到 控制台 。标准输出写入缓冲区,并在测试成功时丢弃。如果失败,则将缓冲区转储到控制台。因为在Java中stdio 重定向是一个糟糕的混乱(System.setOut()更改静态 最终字段System.out通过本机代码),这可能不适用于所有 方案。斯卡拉拥有自己的控制台,具有明智的重定向功能。如果在类路径中检测到 Scala,则junit-interface尝试重新路由 scala.Console的stdout。

我想知道是否有一个简单的方法让scalatest做同样的事情。我可以尝试自己重定向输出,但如果可能的话,宁愿使用标准的东西。

+0

也许这不正是你想要的,但有一个看看我的回答http://stackoverflow.com/questions/21806312/how-to-configure-sbt-test-scalatest-to -only-show-failures – goozez

+0

我们使用maven。任何maven(非sbt)解决方案可用? – javadba

回答

0

根据这一info的ScalaTest网站上,你可以设置一些标志,以抑制一些信息:

如果您在build.sbt添加一行这样的,你的记录不会显示在标准输出测试成功:

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

相关问题