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