Unit testing 使用Scala从SBT获取堆栈跟踪

Unit testing 使用Scala从SBT获取堆栈跟踪,unit-testing,scala,stack-trace,sbt,Unit Testing,Scala,Stack Trace,Sbt,上下文:在SBT管理的项目中编写Scala单元测试 当我执行sbt test来运行我的单元测试时,断言在我的代码中的某个地方失败了,我得到如下结果(仅此而已): 这告诉我是哪个单元测试导致了断言失败,而不是哪个断言失败。如果我直接运行相同的测试(不使用sbt),我会得到一个完整的堆栈跟踪,这对调试非常有用。所以我的问题是:当测试崩溃时,如何让SBT打印堆栈跟踪?关于,它可能与可以修剪其输出的对象有关。 说明了保持堆栈跟踪的意愿应得到更好的控制: 所以默认情况下,您不应该看到该跟踪 也许您可以包装

上下文:在SBT管理的项目中编写Scala单元测试

当我执行
sbt test
来运行我的单元测试时,断言在我的代码中的某个地方失败了,我得到如下结果(仅此而已):

这告诉我是哪个单元测试导致了断言失败,而不是哪个断言失败。如果我直接运行相同的测试(不使用sbt),我会得到一个完整的堆栈跟踪,这对调试非常有用。所以我的问题是:当测试崩溃时,如何让SBT打印堆栈跟踪?

关于,它可能与可以修剪其输出的对象有关。
说明了保持堆栈跟踪的意愿应得到更好的控制:

所以默认情况下,您不应该看到该跟踪


也许您可以包装您的单元测试,拦截任何异常,并明确地打印它们的完整堆栈跟踪?(如在或中)。

谢谢。看起来开发人员在试图清理错误打印时有点过火了。在任何情况下,SBT都是一个很好的工具,用try/catch块包装,虽然不是很理想,但并不难。上次测试是否显示了测试执行的所有输出?否,工作时与测试相关的全部输出是:“[info]通过::总计9,失败0,错误0,通过9,跳过0[成功]总时间:9秒,已完成2011年8月22日11:33:29 PM”““如果有错误,则只有我第一次发布的行和另一行的内容基本相同。Geo的意思是,当SBT上的
测试
异常失败时,键入
上次测试
是否会显示完全异常?
Test com.reach.ml.test.TestLSHEasy.T0 failed: assertion failed