如果在一个FunSpec之后的测试中,如果测试失败,如何进行测试

时间:2016-05-31 21:28:36

标签: scalatest

在使用FunSpec的scalatest中,我有一些在afterEach中触发的代码。我想执行一些代码只在测试失败时获取屏幕截图。几乎我所看到的一切试图通过将断言置于try块中来解决这个问题,这看起来很糟糕。有没有类似于TestNG中的onTestFailure或上下文我可以像RSpec一样确定测试是否失败?查看scala文档,我看到一个带有configMap的实现,但是当我运行测试时它是空的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

非常确定我明白了。来自TestNG背景,似乎很奇怪,必须弄乱固定装置才能完成它。我怀疑像我一样背景的其他人也可能会看到所有错误的地方,所以请留下来帮助其他人:

override def withFixture(test: NoArgTest) = { // after
   val outcome = super.withFixture(test)
   outcome match {
     case Failed(ex) =>
     // log ex (the exception) and a screenshot
   }
   outcome
}