我想在 Spock 测试失败时执行一些操作。具体来说,截图。是否可以?怎么做?
最佳答案
创建监听器类
class ExampleListener extends AbstractRunListener {
def void error(ErrorInfo error) {
println "Actual on error logic"
}
}
然后使用为每个规范执行的 IGlobalExtension
的实现将其添加到每个规范
class GlobalSpecExtension implements IGlobalExtension {
@Override
void visitSpec(SpecInfo specInfo) {
specInfo.addListener(new ExampleListener())
}
}
最后在 META-INF/services 目录
中创建名为 org.spockframework.runtime.extension.IGlobalExtension
的文件(通常在 src/test/resources
如果您使用的是 Maven)以及您的 IGlobalExtension
实现的全名,例如
com.example.tests.GlobalSpecExtension
关于testing - 当 Spock 测试失败时执行一些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420034/