Top Description Inners Fields Constructors Methods
org.junit.jupiter.engine.descriptor

public abstract Class ClassBasedTestDescriptor

extends JupiterTestDescriptor
implements ResourceLockAware, TestClassAware, Validatable
Class Inheritance
All Implemented Interfaces
org.junit.jupiter.engine.descriptor.Validatable, org.junit.jupiter.engine.descriptor.TestClassAware, org.junit.jupiter.engine.descriptor.ResourceLockAware, org.junit.platform.engine.TestDescriptor
Known Direct Subclasses
org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor, org.junit.jupiter.engine.descriptor.ClassTestDescriptor, org.junit.jupiter.engine.descriptor.NestedClassTestDescriptor
Annotations
@API
status:INTERNAL
since:5.5
Static Imports
java.util.Objects.requireNonNull, java.util.stream.Collectors.joining, org.apiguardian.api.API.Status.INTERNAL, org.junit.jupiter.engine.descriptor.CallbackSupport.invokeAfterCallbacks, .CallbackSupport.invokeBeforeCallbacks, .ExtensionUtils.populateNewExtensionRegistryFromExtendWithAnnotation, .ExtensionUtils.registerExtensionsFromConstructorParameters, .ExtensionUtils.registerExtensionsFromExecutableParameters, .ExtensionUtils.registerExtensionsFromInstanceFields, .ExtensionUtils.registerExtensionsFromStaticFields, .LifecycleMethodUtils.findAfterAllMethods, .LifecycleMethodUtils.findAfterEachMethods, .LifecycleMethodUtils.findBeforeAllMethods, .LifecycleMethodUtils.findBeforeEachMethods, .TestInstanceLifecycleUtils.getTestInstanceLifecycle, org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory.createThrowableCollector

TestDescriptor for tests based on Java classes.
Since
5.5

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected static class
private static class

Field Summary

Modifier and TypeField and Description
protected final ClassBasedTestDescriptor.ClassInfo
private static final InterceptingExecutableInvoker
private @Nullable ClassBasedTestDescriptor.LifecycleMethods
private @Nullable TestInstanceFactory
Inherited from org.junit.jupiter.engine.descriptor.JupiterTestDescriptor:
configuration

Constructor Summary

AccessConstructor and Description
pack-priv
ClassBasedTestDescriptor(UniqueId uniqueId, Class<?> testClass, Supplier<String> displayNameSupplier, JupiterConfiguration configuration)

pack-priv
ClassBasedTestDescriptor(UniqueId uniqueId, Class<?> testClass, String displayName, JupiterConfiguration configuration)

Method Summary

Modifier and TypeMethod and Description
public final void
after(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.after.

Execute the after behavior of this node.

public final JupiterEngineExecutionContext
before(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.before.

Execute the before behavior of this node.

public void
private void
protected final Optional<Node.ExecutionMode>
public final ExclusiveResourceCollector
protected final Optional<Node.ExecutionMode>
public final String
getLegacyReportingName()

Overrides default org.junit.platform.engine.TestDescriptor.getLegacyReportingName.

Get the name of this descriptor in a format that is suitable for legacy reporting infrastructure — for example, for reporting systems built on the Ant-based XML reporting format for JUnit 4.

public final Class<?>
public final TestDescriptor.Type
getType()

Implements org.junit.platform.engine.TestDescriptor.getType.

Determine the Type of this descriptor.

private TestInstances
protected abstract TestInstances
protected final TestInstances
private void
private void
private void
private void
private void
private void
private void
private Object
private Object
invokeTestInstanceFactory(TestInstanceFactory testInstanceFactory, Optional<Object> outerInstance, ExtensionContextSupplier extensionContext)

private void
private void
private void
private boolean
public final JupiterEngineExecutionContext
prepare(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.prepare.

Implements abstract org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.prepare.

Must be overridden and return a new context with a new ExtensionContext so cleanUp() does not accidentally close the parent context.

private void
private void
private void
registerMethodsAsExtensions(List<Method> methods, ExtensionRegistrar registrar, Function<Method, Extension> extensionSynthesizer)

private ClassBasedTestDescriptor.LifecycleMethods
private @Nullable TestInstanceFactory
public final void
setDefaultChildExecutionMode(Node.ExecutionMode defaultChildExecutionMode)

private AfterEachMethodAdapter
private BeforeEachMethodAdapter
private TestInstancesProvider
testInstancesProvider(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext)

public final void
validate(DiscoveryIssueReporter reporter)

Implements org.junit.jupiter.engine.descriptor.Validatable.validate.

Validate the state of this descriptor and report any issues found to the supplied DiscoveryIssueReporter.

protected void
protected void
private void
private void
Inherited from org.junit.jupiter.engine.descriptor.JupiterTestDescriptor:
copyIncludingDescendantsgetExclusiveResourcesgetExecutionModegetExecutionModeFromAnnotationgetTagsinvokeExecutionExceptionHandlersshouldBeSkippedtoExecutionModewithUniqueId

Field Detail

classInfoback to summary
protected final ClassBasedTestDescriptor.ClassInfo classInfo
executableInvokerback to summary
private static final InterceptingExecutableInvoker executableInvoker
lifecycleMethodsback to summary
private @Nullable ClassBasedTestDescriptor.LifecycleMethods lifecycleMethods
testInstanceFactoryback to summary
private @Nullable TestInstanceFactory testInstanceFactory

Constructor Detail

ClassBasedTestDescriptorback to summary
pack-priv ClassBasedTestDescriptor(UniqueId uniqueId, Class<?> testClass, Supplier<String> displayNameSupplier, JupiterConfiguration configuration)
ClassBasedTestDescriptorback to summary
pack-priv ClassBasedTestDescriptor(UniqueId uniqueId, Class<?> testClass, String displayName, JupiterConfiguration configuration)

Method Detail

afterback to summary
public final void after(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.after.

Doc from org.junit.platform.engine.support.hierarchical.Node.after.

Execute the after behavior of this node.

This method will be called once after execution of this node.

The default implementation does nothing.

Annotations
@Override
beforeback to summary
public final JupiterEngineExecutionContext before(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.before.

Doc from org.junit.platform.engine.support.hierarchical.Node.before.

Execute the before behavior of this node.

This method will be called once before execution of this node.

The default implementation returns the supplied context unmodified.

Annotations
@Override
cleanUpback to summary
public void cleanUp(JupiterEngineExecutionContext context) throws Exception

Overrides org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp.

Overrides default org.junit.platform.engine.support.hierarchical.Node.cleanUp.

Doc from org.junit.platform.engine.support.hierarchical.Node.cleanUp.

Clean up the supplied context after execution.

The default implementation does nothing.

Annotations
@Override
executeAndMaskThrowableback to summary
private void executeAndMaskThrowable(Executable executable)
getDefaultChildExecutionModeback to summary
protected final Optional<Node.ExecutionMode> getDefaultChildExecutionMode()

Overrides org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.getDefaultChildExecutionMode.

Annotations
@Override
getExclusiveResourceCollectorback to summary
public final ExclusiveResourceCollector getExclusiveResourceCollector()

Implements org.junit.jupiter.engine.descriptor.ResourceLockAware.getExclusiveResourceCollector.

Annotations
@Override
getExplicitExecutionModeback to summary
protected final Optional<Node.ExecutionMode> getExplicitExecutionMode()

Overrides org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.getExplicitExecutionMode.

Annotations
@Override
getLegacyReportingNameback to summary
public final String getLegacyReportingName()

Overrides default org.junit.platform.engine.TestDescriptor.getLegacyReportingName.

Doc from org.junit.platform.engine.TestDescriptor.getLegacyReportingName.

Get the name of this descriptor in a format that is suitable for legacy reporting infrastructure — for example, for reporting systems built on the Ant-based XML reporting format for JUnit 4.

The default implementation delegates to getDisplayName().

Annotations
@Override
getTestClassback to summary
public final Class<?> getTestClass()

Implements org.junit.jupiter.engine.descriptor.TestClassAware.getTestClass.

Annotations
@Override
getTypeback to summary
public final TestDescriptor.Type getType()

Implements org.junit.platform.engine.TestDescriptor.getType.

Doc from org.junit.platform.engine.TestDescriptor.getType.

Determine the Type of this descriptor.

Annotations
@Override
instantiateAndPostProcessTestInstanceback to summary
private TestInstances instantiateAndPostProcessTestInstance(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context)
instantiateTestClassback to summary
protected abstract TestInstances instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext, ExtensionContextSupplier extensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context)
instantiateTestClassback to summary
protected final TestInstances instantiateTestClass(Optional<TestInstances> outerInstances, ExtensionRegistry registry, ExtensionContextSupplier extensionContext)
invokeAfterAllCallbacksback to summary
private void invokeAfterAllCallbacks(JupiterEngineExecutionContext context)
invokeAfterAllMethodExecutionExceptionHandlersback to summary
private void invokeAfterAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, ExtensionContext context, Throwable throwable)
invokeAfterAllMethodsback to summary
private void invokeAfterAllMethods(JupiterEngineExecutionContext context)
invokeBeforeAllCallbacksback to summary
private void invokeBeforeAllCallbacks(JupiterEngineExecutionContext context)
invokeBeforeAllMethodExecutionExceptionHandlersback to summary
private void invokeBeforeAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, ExtensionContext context, Throwable throwable)
invokeBeforeAllMethodsback to summary
private void invokeBeforeAllMethods(JupiterEngineExecutionContext context)
invokeMethodInExtensionContextback to summary
private void invokeMethodInExtensionContext(Method method, ExtensionContext context, ExtensionRegistry registry, InterceptingExecutableInvoker.ReflectiveInterceptorCall.VoidMethodInterceptorCall interceptorCall)
invokeTestClassConstructorback to summary
private Object invokeTestClassConstructor(Optional<Object> outerInstance, ExtensionRegistry registry, ExtensionContextSupplier extensionContext)
invokeTestInstanceFactoryback to summary
private Object invokeTestInstanceFactory(TestInstanceFactory testInstanceFactory, Optional<Object> outerInstance, ExtensionContextSupplier extensionContext)
invokeTestInstancePostProcessorsback to summary
private void invokeTestInstancePostProcessors(Object instance, ExtensionRegistry registry, ExtensionContextSupplier context)
invokeTestInstancePreConstructCallbacksback to summary
private void invokeTestInstancePreConstructCallbacks(TestInstanceFactoryContext factoryContext, ExtensionRegistry registry, ExtensionContextSupplier context)
invokeTestInstancePreDestroyCallbacksback to summary
private void invokeTestInstancePreDestroyCallbacks(JupiterEngineExecutionContext context)
isPerClassLifecycleback to summary
private boolean isPerClassLifecycle(JupiterEngineExecutionContext context)
prepareback to summary
public final JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context)

Overrides default org.junit.platform.engine.support.hierarchical.Node.prepare.

Implements abstract org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.prepare.

Doc from org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.prepare.

Must be overridden and return a new context with a new ExtensionContext so cleanUp() does not accidentally close the parent context.

Annotations
@Override
registerAfterEachMethodAdaptersback to summary
private void registerAfterEachMethodAdapters(ExtensionRegistrar registrar)
registerBeforeEachMethodAdaptersback to summary
private void registerBeforeEachMethodAdapters(ExtensionRegistrar registrar)
registerMethodsAsExtensionsback to summary
private void registerMethodsAsExtensions(List<Method> methods, ExtensionRegistrar registrar, Function<Method, Extension> extensionSynthesizer)
requireLifecycleMethodsback to summary
private ClassBasedTestDescriptor.LifecycleMethods requireLifecycleMethods()
resolveTestInstanceFactoryback to summary
private @Nullable TestInstanceFactory resolveTestInstanceFactory(ExtensionRegistry registry)
setDefaultChildExecutionModeback to summary
public final void setDefaultChildExecutionMode(Node.ExecutionMode defaultChildExecutionMode)
synthesizeAfterEachMethodAdapterback to summary
private AfterEachMethodAdapter synthesizeAfterEachMethodAdapter(Method method)
synthesizeBeforeEachMethodAdapterback to summary
private BeforeEachMethodAdapter synthesizeBeforeEachMethodAdapter(Method method)
testInstancesProviderback to summary
private TestInstancesProvider testInstancesProvider(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext)
validateback to summary
public final void validate(DiscoveryIssueReporter reporter)

Implements org.junit.jupiter.engine.descriptor.Validatable.validate.

Doc from org.junit.jupiter.engine.descriptor.Validatable.validate.

Validate the state of this descriptor and report any issues found to the supplied DiscoveryIssueReporter.

Annotations
@Override
validateClassTemplateInvocationLifecycleMethodsback to summary
protected void validateClassTemplateInvocationLifecycleMethods(DiscoveryIssueReporter reporter)
validateCoreLifecycleMethodsback to summary
protected void validateCoreLifecycleMethods(DiscoveryIssueReporter reporter)
validateDisplayNameAnnotationback to summary
private void validateDisplayNameAnnotation(DiscoveryIssueReporter reporter)
validateTagsback to summary
private void validateTags(DiscoveryIssueReporter reporter)
org.junit.jupiter.engine.descriptor back to summary

protected Class ClassBasedTestDescriptor.ClassInfo

extends Object
Class Inheritance
  • java.lang.Object
  • org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.ClassInfo

Field Summary

Modifier and TypeField and Description
pack-priv @Nullable Node.ExecutionMode
private final List<DiscoveryIssue>
pack-priv final ExclusiveResourceCollector
pack-priv final TestInstance.Lifecycle
pack-priv final Set<TestTag>
pack-priv final Class<?>

Constructor Summary

AccessConstructor and Description
pack-priv
ClassInfo(Class<?> testClass, JupiterConfiguration configuration)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

defaultChildExecutionModeback to summary
pack-priv @Nullable Node.ExecutionMode defaultChildExecutionMode
discoveryIssuesback to summary
private final List<DiscoveryIssue> discoveryIssues
exclusiveResourceCollectorback to summary
pack-priv final ExclusiveResourceCollector exclusiveResourceCollector
lifecycleback to summary
pack-priv final TestInstance.Lifecycle lifecycle
tagsback to summary
pack-priv final Set<TestTag> tags
testClassback to summary
pack-priv final Class<?> testClass

Constructor Detail

ClassInfoback to summary
pack-priv ClassInfo(Class<?> testClass, JupiterConfiguration configuration)
org.junit.jupiter.engine.descriptor back to summary

private Class ClassBasedTestDescriptor.LifecycleMethods

extends Object
Class Inheritance
  • java.lang.Object
  • org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.LifecycleMethods

Field Summary

Modifier and TypeField and Description
private final List<Method>
private final List<Method>
private final List<Method>
private final List<Method>
private final List<DiscoveryIssue>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

afterAllback to summary
private final List<Method> afterAll
afterEachback to summary
private final List<Method> afterEach
beforeAllback to summary
private final List<Method> beforeAll
beforeEachback to summary
private final List<Method> beforeEach
discoveryIssuesback to summary
private final List<DiscoveryIssue> discoveryIssues

Constructor Detail

LifecycleMethodsback to summary
pack-priv LifecycleMethods(ClassBasedTestDescriptor.ClassInfo classInfo)