Interface TestInstanceFactory

All Superinterfaces:
Extension, TestInstantiationAwareExtension
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @API(status=STABLE, since="5.7") public interface TestInstanceFactory extends TestInstantiationAwareExtension
TestInstanceFactory defines the API for Extensions that wish to create test instances.

Common use cases include creating test instances with special construction requirements or acquiring the test instance from a dependency injection framework.

Extensions that implement TestInstanceFactory must be registered at the class level.

Warning

Only one TestInstanceFactory is allowed to be registered for any given test class. Registering multiple factories for any single test class will result in an exception being thrown for all tests in that class, in any subclass, and in any nested class. Note that any TestInstanceFactory registered in a superclass or enclosing class (i.e., in the case of a @Nested test class) is inherited. It is therefore the user's responsibility to ensure that only a single TestInstanceFactory is registered for any specific test class.

Constructor Requirements

Consult the documentation in Extension for details on constructor requirements.

Since:
5.3
See Also: