Class TemporaryFolderExt

  • All Implemented Interfaces:
    org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.Extension

    public class TemporaryFolderExt
    extends Object
    implements org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback
    JUnit 5 extension for temporary folder operations.

    Declare the extension in a test using

    @RegisterExtension
    static TemporaryFolderExt folder = TemporaryFolderExt.build();

    The static is important.

    When a test needs a temporary folder it invokes folder.newFolder().

    The extension automatically deletes the temporary files after all tests in the test class have finished.

    • Method Detail

      • build

        public static TemporaryFolderExt build()
        Builds an instance of TemporaryFolderExt.
        Returns:
        a TemporaryFolderExt
      • newFolder

        public File newFolder()
                       throws IOException
        Creates a new temporary folder with a unique generated name.
        Returns:
        File for the newly-created temporary folder
        Throws:
        IOException - in case of error creating the new folder
      • newFolder

        public File newFolder​(String name)
                       throws IOException
        Creates a new temporary folder with the specified name.
        Parameters:
        name - of the folder to create
        Returns:
        File for the new folder
        Throws:
        IOException - in case of error creating the new folder
      • newFile

        public File newFile()
                     throws IOException
        Creates a new temporary file with a generated unique name.
        Returns:
        the new File
        Throws:
        IOException - in case of error creating the new file
      • newFile

        public File newFile​(String name)
                     throws IOException
        Creates a new temporary file with the specified name.
        Parameters:
        name - name to be used for the new file
        Returns:
        File for the newly-created file
        Throws:
        IOException - in case of error creating the new file
      • getRoot

        public File getRoot()
        The root for this test's temporary files.
        Returns:
        the root File
      • beforeEach

        public void beforeEach​(org.junit.jupiter.api.extension.ExtensionContext ec)
                        throws Exception
        Specified by:
        beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallback
        Throws:
        Exception
      • afterEach

        public void afterEach​(org.junit.jupiter.api.extension.ExtensionContext ec)
                       throws Exception
        Specified by:
        afterEach in interface org.junit.jupiter.api.extension.AfterEachCallback
        Throws:
        Exception