in module/geb-spock/src/main/groovy/geb/spock/GebExtension.groovy [54:80]
private void addManagerCalls(SpecInfo spec) {
// do it in shared initializer interceptor instead of
// specification interceptor, so that it is run already
// before shared field initializers are executed
spec.addSharedInitializerInterceptor { invocation ->
getManager(invocation).beforeTestClass(invocation.spec.reflection)
invocation.proceed()
}
spec.addInterceptor { invocation ->
try {
invocation.proceed()
} finally {
getManager(invocation).afterTestClass()
}
}
spec.allFeatures*.addIterationInterceptor { invocation ->
GebTestManager testManager = getManager(invocation)
testManager.beforeTest(invocation.instance.getClass(), invocation.iteration.displayName)
try {
invocation.proceed()
} finally {
testManager.afterTest()
}
}
}