Class ClassBasedTestDescriptor
java.lang.Object
org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor
- All Implemented Interfaces:
ResourceLockAware, TestClassAware, Validatable, org.junit.platform.engine.support.hierarchical.Node<JupiterEngineExecutionContext>, org.junit.platform.engine.TestDescriptor
- Direct Known Subclasses:
ClassTemplateTestDescriptor, ClassTestDescriptor, NestedClassTestDescriptor
@API(status=INTERNAL,
since="5.5")
public abstract class ClassBasedTestDescriptor
extends JupiterTestDescriptor
implements ResourceLockAware, TestClassAware, Validatable
TestDescriptor for tests based on Java classes.- Since:
- 5.5
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprivate static classNested classes/interfaces inherited from class JupiterTestDescriptor
JupiterTestDescriptor.ExceptionHandlerInvoker<E>Nested classes/interfaces inherited from interface org.junit.platform.engine.support.hierarchical.Node
org.junit.platform.engine.support.hierarchical.Node.DynamicTestExecutor, org.junit.platform.engine.support.hierarchical.Node.ExecutionMode, org.junit.platform.engine.support.hierarchical.Node.Invocation<C>, org.junit.platform.engine.support.hierarchical.Node.SkipResultNested classes/interfaces inherited from interface org.junit.platform.engine.TestDescriptor
org.junit.platform.engine.TestDescriptor.Type, org.junit.platform.engine.TestDescriptor.Visitor -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ClassBasedTestDescriptor.ClassInfoprivate static final InterceptingExecutableInvokerprivate org.junit.jupiter.api.extension.TestInstanceFactoryFields inherited from class JupiterTestDescriptor
configurationFields inherited from class org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
children -
Constructor Summary
ConstructorsConstructorDescriptionClassBasedTestDescriptor(org.junit.platform.engine.UniqueId uniqueId, Class<?> testClass, String displayName, JupiterConfiguration configuration) ClassBasedTestDescriptor(org.junit.platform.engine.UniqueId uniqueId, Class<?> testClass, Supplier<String> displayNameSupplier, JupiterConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidafter(JupiterEngineExecutionContext context) before(JupiterEngineExecutionContext context) voidcleanUp(JupiterEngineExecutionContext context) private voidexecuteAndMaskThrowable(org.junit.jupiter.api.function.Executable executable) protected final Optional<org.junit.platform.engine.support.hierarchical.Node.ExecutionMode> protected final Optional<org.junit.platform.engine.support.hierarchical.Node.ExecutionMode> protected final Stringfinal Class<?> final org.junit.platform.engine.TestDescriptor.TypegetType()private org.junit.jupiter.api.extension.TestInstancesinstantiateAndPostProcessTestInstance(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context) protected final org.junit.jupiter.api.extension.TestInstancesinstantiateTestClass(Optional<org.junit.jupiter.api.extension.TestInstances> outerInstances, ExtensionRegistry registry, ExtensionContextSupplier extensionContext) protected abstract org.junit.jupiter.api.extension.TestInstancesinstantiateTestClass(JupiterEngineExecutionContext parentExecutionContext, ExtensionContextSupplier extensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context) private voidprivate voidinvokeAfterAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) private voidprivate voidprivate voidinvokeBeforeAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) private voidprivate voidinvokeMethodInExtensionContext(Method method, org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, InterceptingExecutableInvoker.ReflectiveInterceptorCall.VoidMethodInterceptorCall interceptorCall) private ObjectinvokeTestClassConstructor(Optional<Object> outerInstance, ExtensionRegistry registry, ExtensionContextSupplier extensionContext) private ObjectinvokeTestInstanceFactory(Optional<Object> outerInstance, ExtensionContextSupplier extensionContext) private voidinvokeTestInstancePostProcessors(Object instance, ExtensionRegistry registry, ExtensionContextSupplier context) private voidinvokeTestInstancePreConstructCallbacks(org.junit.jupiter.api.extension.TestInstanceFactoryContext factoryContext, ExtensionRegistry registry, ExtensionContextSupplier context) private voidprivate booleanprepare(JupiterEngineExecutionContext context) Must be overridden and return a new context with a newExtensionContextso cleanUp() does not accidentally close the parent context.private voidprivate voidprivate voidregisterMethodsAsExtensions(List<Method> methods, ExtensionRegistrar registrar, Function<Method, org.junit.jupiter.api.extension.Extension> extensionSynthesizer) private org.junit.jupiter.api.extension.TestInstanceFactoryresolveTestInstanceFactory(ExtensionRegistry registry) final voidsetDefaultChildExecutionMode(org.junit.platform.engine.support.hierarchical.Node.ExecutionMode defaultChildExecutionMode) private AfterEachMethodAdapterprivate BeforeEachMethodAdapterprivate TestInstancesProvidertestInstancesProvider(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext) final voidvalidate(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) Validate the state of this descriptor and report any issues found to the suppliedDiscoveryIssueReporter.protected voidvalidateClassTemplateInvocationLifecycleMethods(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) protected voidvalidateCoreLifecycleMethods(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) private voidvalidateDisplayNameAnnotation(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) private voidvalidateTags(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) Methods inherited from class JupiterTestDescriptor
copyIncludingDescendants, getExclusiveResources, getExecutionMode, getExecutionModeFromAnnotation, getLegacyReportingIndex, getLegacyReportingName, getTags, invokeExecutionExceptionHandlers, shouldBeSkipped, toExecutionMode, withUniqueIdMethods inherited from class org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
addChild, equals, findByUniqueId, getChildren, getDisplayName, getParent, getSource, getTags, getUniqueId, hashCode, orderChildren, removeChild, removeFromHierarchy, setParent, toStringMethods inherited from interface org.junit.platform.engine.support.hierarchical.Node
around, execute, nodeFinished, nodeSkippedMethods inherited from interface ResourceLockAware
determineExclusiveResources, determineOwnExclusiveResources, getResourceLocksProviderEvaluatorMethods inherited from interface TestClassAware
getEnclosingTestClassesMethods inherited from interface org.junit.platform.engine.TestDescriptor
accept, addChild, findByUniqueId, getAncestors, getChildren, getDescendants, getDisplayName, getLegacyReportingName, getParent, getSource, getTags, getUniqueId, isContainer, isRoot, isTest, mayRegisterTests, orderChildren, prune, removeChild, removeFromHierarchy, setParent
-
Field Details
-
executableInvoker
-
classInfo
-
lifecycleMethods
-
testInstanceFactory
private org.junit.jupiter.api.extension.TestInstanceFactory testInstanceFactory
-
-
Constructor Details
-
ClassBasedTestDescriptor
ClassBasedTestDescriptor(org.junit.platform.engine.UniqueId uniqueId, Class<?> testClass, Supplier<String> displayNameSupplier, JupiterConfiguration configuration) -
ClassBasedTestDescriptor
ClassBasedTestDescriptor(org.junit.platform.engine.UniqueId uniqueId, Class<?> testClass, String displayName, JupiterConfiguration configuration)
-
-
Method Details
-
getTestClass
- Specified by:
getTestClassin interfaceTestClassAware
-
getType
public final org.junit.platform.engine.TestDescriptor.Type getType()- Specified by:
getTypein interfaceorg.junit.platform.engine.TestDescriptor
-
getLegacyReportingBaseName
- Overrides:
getLegacyReportingBaseNamein classJupiterTestDescriptor
-
validate
public final void validate(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) Description copied from interface:ValidatableValidate the state of this descriptor and report any issues found to the suppliedDiscoveryIssueReporter.- Specified by:
validatein interfaceValidatable
-
validateDisplayNameAnnotation
private void validateDisplayNameAnnotation(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) -
validateCoreLifecycleMethods
protected void validateCoreLifecycleMethods(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) -
validateClassTemplateInvocationLifecycleMethods
protected void validateClassTemplateInvocationLifecycleMethods(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) -
validateTags
private void validateTags(org.junit.platform.engine.support.discovery.DiscoveryIssueReporter reporter) -
getExplicitExecutionMode
protected final Optional<org.junit.platform.engine.support.hierarchical.Node.ExecutionMode> getExplicitExecutionMode()- Overrides:
getExplicitExecutionModein classJupiterTestDescriptor
-
getDefaultChildExecutionMode
protected final Optional<org.junit.platform.engine.support.hierarchical.Node.ExecutionMode> getDefaultChildExecutionMode()- Overrides:
getDefaultChildExecutionModein classJupiterTestDescriptor
-
setDefaultChildExecutionMode
public final void setDefaultChildExecutionMode(org.junit.platform.engine.support.hierarchical.Node.ExecutionMode defaultChildExecutionMode) -
getExclusiveResourceCollector
- Specified by:
getExclusiveResourceCollectorin interfaceResourceLockAware
-
prepare
Description copied from class:JupiterTestDescriptorMust be overridden and return a new context with a newExtensionContextso cleanUp() does not accidentally close the parent context.- Specified by:
preparein interfaceorg.junit.platform.engine.support.hierarchical.Node<JupiterEngineExecutionContext>- Specified by:
preparein classJupiterTestDescriptor
-
before
- Specified by:
beforein interfaceorg.junit.platform.engine.support.hierarchical.Node<JupiterEngineExecutionContext>
-
after
- Specified by:
afterin interfaceorg.junit.platform.engine.support.hierarchical.Node<JupiterEngineExecutionContext>
-
cleanUp
- Specified by:
cleanUpin interfaceorg.junit.platform.engine.support.hierarchical.Node<JupiterEngineExecutionContext>- Overrides:
cleanUpin classJupiterTestDescriptor- Throws:
Exception
-
resolveTestInstanceFactory
private org.junit.jupiter.api.extension.TestInstanceFactory resolveTestInstanceFactory(ExtensionRegistry registry) -
testInstancesProvider
private TestInstancesProvider testInstancesProvider(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext) -
instantiateAndPostProcessTestInstance
private org.junit.jupiter.api.extension.TestInstances instantiateAndPostProcessTestInstance(JupiterEngineExecutionContext parentExecutionContext, ClassExtensionContext ourExtensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context) -
instantiateTestClass
protected abstract org.junit.jupiter.api.extension.TestInstances instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext, ExtensionContextSupplier extensionContext, ExtensionRegistry registry, JupiterEngineExecutionContext context) -
instantiateTestClass
protected final org.junit.jupiter.api.extension.TestInstances instantiateTestClass(Optional<org.junit.jupiter.api.extension.TestInstances> outerInstances, ExtensionRegistry registry, ExtensionContextSupplier extensionContext) -
invokeTestInstanceFactory
private Object invokeTestInstanceFactory(Optional<Object> outerInstance, ExtensionContextSupplier extensionContext) -
invokeTestClassConstructor
private Object invokeTestClassConstructor(Optional<Object> outerInstance, ExtensionRegistry registry, ExtensionContextSupplier extensionContext) -
invokeTestInstancePreConstructCallbacks
private void invokeTestInstancePreConstructCallbacks(org.junit.jupiter.api.extension.TestInstanceFactoryContext factoryContext, ExtensionRegistry registry, ExtensionContextSupplier context) -
invokeTestInstancePostProcessors
private void invokeTestInstancePostProcessors(Object instance, ExtensionRegistry registry, ExtensionContextSupplier context) -
executeAndMaskThrowable
private void executeAndMaskThrowable(org.junit.jupiter.api.function.Executable executable) -
invokeBeforeAllCallbacks
-
invokeBeforeAllMethods
-
invokeBeforeAllMethodExecutionExceptionHandlers
private void invokeBeforeAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) -
invokeAfterAllMethods
-
invokeAfterAllMethodExecutionExceptionHandlers
private void invokeAfterAllMethodExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) -
invokeAfterAllCallbacks
-
invokeTestInstancePreDestroyCallbacks
-
isPerClassLifecycle
-
registerBeforeEachMethodAdapters
-
registerAfterEachMethodAdapters
-
registerMethodsAsExtensions
private void registerMethodsAsExtensions(List<Method> methods, ExtensionRegistrar registrar, Function<Method, org.junit.jupiter.api.extension.Extension> extensionSynthesizer) -
synthesizeBeforeEachMethodAdapter
-
synthesizeAfterEachMethodAdapter
-
invokeMethodInExtensionContext
private void invokeMethodInExtensionContext(Method method, org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, InterceptingExecutableInvoker.ReflectiveInterceptorCall.VoidMethodInterceptorCall interceptorCall)
-