2012-02-27 70 views
2

我正在使用硒在Scala Web应用程序上执行集成测试。我希望在测试失败时将页面的html截图或打印到控制台中。我目前的设置是使用Selenium 2.0和Spec的Scalatest。在Scalatest失败时执行特殊功能

无论如何拦截故障或从AfterEach覆盖方法确定测试的状态吗?

回答

6

要做到这一点,你要重写withFixture而不是使用BeforeAndAfterEach。 BeforeAndAfterEach的beforeEach方法发生在测试之前,而afterEach发生在测试之后。而Fixture可以在测试的开始和/或结束时做一些事情。所以当调用FIXture时,测试已经开始。测试函数返回到Fixture后,测试尚未完成。因此,您可以在withFixture中捕捉异常以确定测试是否失败,如果是,则创建一个屏幕快照。