2016-05-31 74 views
1

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

回答

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 
}