2016-05-31 75 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 
}