Class AutoCloseExtension

java.lang.Object
org.junit.jupiter.engine.extension.AutoCloseExtension
All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.TestInstancePreDestroyCallback

class AutoCloseExtension extends Object implements org.junit.jupiter.api.extension.TestInstancePreDestroyCallback, org.junit.jupiter.api.extension.AfterAllCallback
AutoCloseExtension is a JUnit Jupiter extension that closes resources if a field in a test class is annotated with @AutoClose.

Consult the Javadoc for @AutoClose for details on the contract.

Since:
5.11
See Also:
  • AutoClose
  • Field Details

    • logger

      private static final org.junit.platform.commons.logging.Logger logger
  • Constructor Details

    • AutoCloseExtension

      AutoCloseExtension()
  • Method Details

    • preDestroyTestInstance

      public void preDestroyTestInstance(org.junit.jupiter.api.extension.ExtensionContext context)
      Specified by:
      preDestroyTestInstance in interface org.junit.jupiter.api.extension.TestInstancePreDestroyCallback
    • afterAll

      public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
      Specified by:
      afterAll in interface org.junit.jupiter.api.extension.AfterAllCallback
    • closeFields

      private static void closeFields(Class<?> testClass, Object testInstance, ThrowableCollector throwableCollector)
    • closeField

      private static void closeField(Field field, Object testInstance) throws Exception
      Throws:
      Exception
    • invokeCloseMethod

      private static void invokeCloseMethod(Field field, Object target, String methodName) throws Exception
      Throws:
      Exception
    • checkCondition

      private static void checkCondition(boolean condition, String messageFormat, Field field)
    • getQualifiedName

      private static String getQualifiedName(Field field)