Interface ResourceFactory<T>

Type Parameters:
T - the type of the resources created by the resource factory
All Superinterfaces:
org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource
All Known Implementing Classes:
TemporaryDirectory

public interface ResourceFactory<T> extends org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource
ResourceFactory is the common interface for "resource factories", which are responsible for creating Resources.

It is part of the "resources" JUnit Jupiter extension, which pertains to anything that needs to be injected into tests and which may need to be started up or torn down. Temporary directories are a common example.

This class is intended for implementors of new kinds of resources.

For more details and examples, see the documentation on resources.

Since:
1.9.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Closes the resource factory.
    create(List<String> arguments)
    Returns a new resource.
  • Method Details

    • create

      Resource<T> create(List<String> arguments) throws Exception
      Returns a new resource.
      Parameters:
      arguments - a list of strings to be used to populate or configure the resource
      Throws:
      Exception - if creating the resource failed
    • close

      default void close() throws Exception
      Closes the resource factory.
      Specified by:
      close in interface org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource
      Throws:
      Exception - if closing the resource factory failed