All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.testcontainers.spock.TestcontainersExtension.groovy Maven / Gradle / Ivy

package org.testcontainers.spock

import org.spockframework.runtime.AbstractRunListener
import org.spockframework.runtime.extension.AbstractAnnotationDrivenExtension
import org.spockframework.runtime.model.ErrorInfo
import org.spockframework.runtime.model.SpecInfo

class TestcontainersExtension extends AbstractAnnotationDrivenExtension {

    @Override
    void visitSpecAnnotation(Testcontainers annotation, SpecInfo spec) {
        def listener = new ErrorListener()
        def interceptor = new TestcontainersMethodInterceptor(spec, listener)
        spec.addSetupSpecInterceptor(interceptor)
        spec.addCleanupSpecInterceptor(interceptor)
        spec.addSetupInterceptor(interceptor)
        spec.addCleanupInterceptor(interceptor)

        spec.addListener(listener)

    }

    private class ErrorListener extends AbstractRunListener {
        List errors = []

        @Override
        void error(ErrorInfo error) {
            errors.add(error)
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy