在Scalatest失败时执行专门的功能

Mic*_*len 2 testing selenium specifications scala scalatest

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

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

Bil*_*ers 6

要做到这一点,你需要覆盖withFixture而不是使用BeforeAndAfterEach.BeforeAndAfterEach的beforeEach方法在测试之前发生,并且在测试之后发生.而混合可以在测试的开始和/或结束时执行某些操作.因此,当调用withFixture时,测试已经开始.测试函数返回withFixture后,测试尚未完成.因此,您可以在withFixture中捕获异常,以确定测试是否失败,如果是,则创建一个屏幕截图.