Class AbstractContext

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.junit.jupiter.api.extension.ExtensionContext
    Direct Known Subclasses:
    ClassContext, MethodContext

    public abstract class AbstractContext
    extends java.lang.Object
    implements org.junit.jupiter.api.extension.ExtensionContext, java.lang.AutoCloseable
    Extension context object is passed to all extensions as parameter. Context is hierarchical: first level used for spec (class level) and one context for each spec method. In case of spock data-driven methods, each iteration will have a fresh method (feature) context (because extension instances must be renewed - each iteration is a separate test run).

    Based on org.junit.jupiter.engine.descriptor.AbstractExtensionContext from junit-jupiter-engine. Note that original jupiter implementation contains much more context types - they are not needed in context of spock.

    Since:
    02.12.2021
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.junit.jupiter.api.extension.ExtensionContext

        org.junit.jupiter.api.extension.ExtensionContext.Namespace, org.junit.jupiter.api.extension.ExtensionContext.Store
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.junit.platform.engine.support.hierarchical.ThrowableCollector collector  
      protected java.lang.reflect.AnnotatedElement element  
      protected org.junit.jupiter.api.extension.ExtensionContext parent  
      protected ExtensionRegistry registry  
      protected org.spockframework.runtime.model.SpecInfo spec  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractContext​(org.junit.jupiter.api.extension.ExtensionContext parent, ExtensionRegistry registry, java.lang.reflect.AnnotatedElement element, org.spockframework.runtime.model.SpecInfo spec)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      org.junit.platform.engine.support.hierarchical.ThrowableCollector getCollector()  
      java.util.Optional<java.lang.String> getConfigurationParameter​(java.lang.String key)  
      <T> java.util.Optional<T> getConfigurationParameter​(java.lang.String key, java.util.function.Function<java.lang.String,​T> transformer)  
      java.util.Optional<java.lang.reflect.AnnotatedElement> getElement()  
      java.util.Optional<java.lang.Throwable> getExecutionException()  
      org.junit.jupiter.api.parallel.ExecutionMode getExecutionMode()  
      java.util.Optional<org.junit.jupiter.api.extension.ExtensionContext> getParent()  
      ExtensionRegistry getRegistry()  
      org.junit.jupiter.api.extension.ExtensionContext getRoot()  
      org.spockframework.runtime.model.SpecInfo getSpec()  
      org.junit.jupiter.api.extension.ExtensionContext.Store getStore​(org.junit.jupiter.api.extension.ExtensionContext.Namespace namespace)  
      java.util.Set<java.lang.String> getTags()  
      java.util.Optional<java.lang.Class<?>> getTestClass()  
      java.util.Optional<org.junit.jupiter.api.TestInstance.Lifecycle> getTestInstanceLifecycle()  
      void publishReportEntry​(java.util.Map<java.lang.String,​java.lang.String> map)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.junit.jupiter.api.extension.ExtensionContext

        getDisplayName, getRequiredTestClass, getRequiredTestInstance, getRequiredTestInstances, getRequiredTestMethod, getTestInstance, getTestInstances, getTestMethod, getUniqueId, publishReportEntry, publishReportEntry
    • Field Detail

      • parent

        protected final org.junit.jupiter.api.extension.ExtensionContext parent
      • element

        protected final java.lang.reflect.AnnotatedElement element
      • spec

        protected final org.spockframework.runtime.model.SpecInfo spec
      • collector

        protected final org.junit.platform.engine.support.hierarchical.ThrowableCollector collector
    • Constructor Detail

      • AbstractContext

        public AbstractContext​(org.junit.jupiter.api.extension.ExtensionContext parent,
                               ExtensionRegistry registry,
                               java.lang.reflect.AnnotatedElement element,
                               org.spockframework.runtime.model.SpecInfo spec)
    • Method Detail

      • getParent

        public java.util.Optional<org.junit.jupiter.api.extension.ExtensionContext> getParent()
        Specified by:
        getParent in interface org.junit.jupiter.api.extension.ExtensionContext
      • getRoot

        public org.junit.jupiter.api.extension.ExtensionContext getRoot()
        Specified by:
        getRoot in interface org.junit.jupiter.api.extension.ExtensionContext
      • getTags

        public java.util.Set<java.lang.String> getTags()
        Specified by:
        getTags in interface org.junit.jupiter.api.extension.ExtensionContext
      • getElement

        public java.util.Optional<java.lang.reflect.AnnotatedElement> getElement()
        Specified by:
        getElement in interface org.junit.jupiter.api.extension.ExtensionContext
      • getTestClass

        public java.util.Optional<java.lang.Class<?>> getTestClass()
        Specified by:
        getTestClass in interface org.junit.jupiter.api.extension.ExtensionContext
      • getTestInstanceLifecycle

        public java.util.Optional<org.junit.jupiter.api.TestInstance.Lifecycle> getTestInstanceLifecycle()
        Specified by:
        getTestInstanceLifecycle in interface org.junit.jupiter.api.extension.ExtensionContext
      • getExecutionException

        public java.util.Optional<java.lang.Throwable> getExecutionException()
        Specified by:
        getExecutionException in interface org.junit.jupiter.api.extension.ExtensionContext
      • getConfigurationParameter

        public java.util.Optional<java.lang.String> getConfigurationParameter​(java.lang.String key)
        Specified by:
        getConfigurationParameter in interface org.junit.jupiter.api.extension.ExtensionContext
      • getConfigurationParameter

        public <T> java.util.Optional<T> getConfigurationParameter​(java.lang.String key,
                                                                   java.util.function.Function<java.lang.String,​T> transformer)
        Specified by:
        getConfigurationParameter in interface org.junit.jupiter.api.extension.ExtensionContext
      • publishReportEntry

        public void publishReportEntry​(java.util.Map<java.lang.String,​java.lang.String> map)
        Specified by:
        publishReportEntry in interface org.junit.jupiter.api.extension.ExtensionContext
      • getStore

        public org.junit.jupiter.api.extension.ExtensionContext.Store getStore​(org.junit.jupiter.api.extension.ExtensionContext.Namespace namespace)
        Specified by:
        getStore in interface org.junit.jupiter.api.extension.ExtensionContext
      • getExecutionMode

        public org.junit.jupiter.api.parallel.ExecutionMode getExecutionMode()
        Specified by:
        getExecutionMode in interface org.junit.jupiter.api.extension.ExtensionContext
      • getSpec

        public org.spockframework.runtime.model.SpecInfo getSpec()
      • getCollector

        public org.junit.platform.engine.support.hierarchical.ThrowableCollector getCollector()
      • close

        public void close()
                   throws java.lang.Exception
        Specified by:
        close in interface java.lang.AutoCloseable
        Throws:
        java.lang.Exception