代码之家  ›  专栏  ›  技术社区  ›  Kevin Peterson

通过sbt运行spec时如何消除堆栈跟踪?

  •  2
  • Kevin Peterson  · 技术社区  · 15 年前

    我有一个scala项目,我正在使用sbt和specs。当我运行sbt测试时,它会正确地运行我的测试,但是失败的测试会导致巨大的堆栈跟踪。

    [info] 
    == caravan.DependenciesSpec ==
    [info]   specifies 
    [info]   x Status should mirror single job
    org.specs.specification.FailureExceptionWithResult: 'caravan.Status(2)' is not equal to 'caravan.Status(3)'
        at caravan.DependenciesSpec$$anonfun$1.apply(DependenciesSpec.scala:13)
    ...about 70 lines of stack trace though specs...
    [error]   org.specs.specification.FailureExceptionWithResult: 'caravan.Status(2)' is not equal to 'caravan.Status(3)'
    

    我所期望的是它只是报告测试失败。我用scala 2.7.5运行specs 1.6.0和sbt 0.5.5。我的说明书上写着:

    object DependenciesSpec extends Specification {
    ...
    

    有没有办法从specs/sbt中获得可用的输出?

    1 回复  |  直到 14 年前
        1
  •  1
  •   huynhjl bhericher    14 年前

    我刚刚看到新的xsbt启动程序0.6.10添加了 trace on|off|<n> 控制堆栈跟踪输出的命令。看到这个 thread 关于sbt谷歌集团发布公告和 issue report .

    显然这取决于 Specs 将堆栈跟踪发送到 sbt 也是。