Class TempDirectory
java.lang.Object
org.junit.jupiter.engine.extension.TempDirectory
- All Implemented Interfaces:
org.junit.jupiter.api.extension.BeforeAllCallback
,org.junit.jupiter.api.extension.BeforeEachCallback
,org.junit.jupiter.api.extension.Extension
,org.junit.jupiter.api.extension.ParameterResolver
class TempDirectory
extends Object
implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.ParameterResolver
TempDirectory
is a JUnit Jupiter extension that creates and cleans
up temporary directories if field in a test class or a parameter in a
lifecycle method or test method is annotated with @TempDir
.
Consult the Javadoc for TempDir
for details on the contract.
- Since:
- 5.4
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
private static class
(package private) static interface
(package private) static enum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private final JupiterConfiguration
private static final String
(package private) static final String
private static final String
(package private) static final org.junit.jupiter.api.extension.ExtensionContext.Namespace
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
assertNonFinalField
(Field field) private void
assertSupportedType
(String target, Class<?> type) void
beforeAll
(org.junit.jupiter.api.extension.ExtensionContext context) void
beforeEach
(org.junit.jupiter.api.extension.ExtensionContext context) (package private) static TempDirectory.CloseablePath
createTempDir
(org.junit.jupiter.api.io.TempDirFactory factory, org.junit.jupiter.api.io.CleanupMode cleanupMode, org.junit.jupiter.api.extension.AnnotatedElementContext elementContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) private org.junit.jupiter.api.io.CleanupMode
determineCleanupMode
(org.junit.jupiter.api.io.TempDir tempDir) private org.junit.jupiter.api.io.CleanupMode
private org.junit.jupiter.api.io.CleanupMode
determineCleanupModeForParameter
(org.junit.jupiter.api.extension.ParameterContext parameterContext) private org.junit.jupiter.api.io.TempDirFactory
determineTempDirFactory
(org.junit.jupiter.api.io.TempDir tempDir, TempDirectory.Scope scope) private org.junit.jupiter.api.io.TempDirFactory
determineTempDirFactoryForField
(Field field, TempDirectory.Scope scope) private org.junit.jupiter.api.io.TempDirFactory
determineTempDirFactoryForParameter
(org.junit.jupiter.api.extension.ParameterContext parameterContext, TempDirectory.Scope scope) private Object
getPathOrFile
(org.junit.jupiter.api.extension.AnnotatedElementContext elementContext, Class<?> type, org.junit.jupiter.api.io.TempDirFactory factory, org.junit.jupiter.api.io.CleanupMode cleanupMode, TempDirectory.Scope scope, org.junit.jupiter.api.extension.ExtensionContext extensionContext) private TempDirectory.Scope
getScope
(org.junit.jupiter.api.extension.ExtensionContext context) private void
injectFields
(org.junit.jupiter.api.extension.ExtensionContext context, Object testInstance, Class<?> testClass, Predicate<Field> predicate) private void
injectInstanceFields
(org.junit.jupiter.api.extension.ExtensionContext context, Object instance) private void
injectStaticFields
(org.junit.jupiter.api.extension.ExtensionContext context, Class<?> testClass) private static void
installFailureTracker
(org.junit.jupiter.api.extension.ExtensionContext context) resolveParameter
(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) Resolve the current temporary directory for theParameter
in the suppliedParameterContext
.private static boolean
selfOrChildFailed
(org.junit.jupiter.api.extension.ExtensionContext context) boolean
supportsParameter
(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
Field Details
-
NAMESPACE
static final org.junit.jupiter.api.extension.ExtensionContext.Namespace NAMESPACE -
KEY
- See Also:
-
FAILURE_TRACKER
- See Also:
-
CHILD_FAILED
- See Also:
-
FILE_OPERATIONS_KEY
- See Also:
-
configuration
-
-
Constructor Details
-
TempDirectory
-
-
Method Details
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context) Perform field injection for non-private,static
fields (i.e., class fields) of typePath
orFile
that are annotated with@TempDir
.- Specified by:
beforeAll
in interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) Perform field injection for non-private, non-static fields (i.e., instance fields) of typePath
orFile
that are annotated with@TempDir
.- Specified by:
beforeEach
in interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
installFailureTracker
private static void installFailureTracker(org.junit.jupiter.api.extension.ExtensionContext context) -
injectStaticFields
private void injectStaticFields(org.junit.jupiter.api.extension.ExtensionContext context, Class<?> testClass) -
injectInstanceFields
private void injectInstanceFields(org.junit.jupiter.api.extension.ExtensionContext context, Object instance) -
injectFields
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) - Specified by:
supportsParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) Resolve the current temporary directory for theParameter
in the suppliedParameterContext
.- Specified by:
resolveParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
determineCleanupModeForField
-
determineCleanupModeForParameter
private org.junit.jupiter.api.io.CleanupMode determineCleanupModeForParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext) -
determineCleanupMode
private org.junit.jupiter.api.io.CleanupMode determineCleanupMode(org.junit.jupiter.api.io.TempDir tempDir) -
getScope
-
determineTempDirFactoryForField
private org.junit.jupiter.api.io.TempDirFactory determineTempDirFactoryForField(Field field, TempDirectory.Scope scope) -
determineTempDirFactoryForParameter
private org.junit.jupiter.api.io.TempDirFactory determineTempDirFactoryForParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, TempDirectory.Scope scope) -
determineTempDirFactory
private org.junit.jupiter.api.io.TempDirFactory determineTempDirFactory(org.junit.jupiter.api.io.TempDir tempDir, TempDirectory.Scope scope) -
assertNonFinalField
-
assertSupportedType
-
getPathOrFile
private Object getPathOrFile(org.junit.jupiter.api.extension.AnnotatedElementContext elementContext, Class<?> type, org.junit.jupiter.api.io.TempDirFactory factory, org.junit.jupiter.api.io.CleanupMode cleanupMode, TempDirectory.Scope scope, org.junit.jupiter.api.extension.ExtensionContext extensionContext) -
createTempDir
static TempDirectory.CloseablePath createTempDir(org.junit.jupiter.api.io.TempDirFactory factory, org.junit.jupiter.api.io.CleanupMode cleanupMode, org.junit.jupiter.api.extension.AnnotatedElementContext elementContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) -
selfOrChildFailed
private static boolean selfOrChildFailed(org.junit.jupiter.api.extension.ExtensionContext context)
-