1.2.5.4 测试实例后处理
TestInstanceFactory
defines the API for Extensions
that wish to create test class instances.
Common use cases include acquiring the test instance from a dependency injection framework or invoking a static factory method to create the test class instance.
If no TestInstanceFactory
is registered, the framework will invoke the sole constructor for the test class to instantiate it, potentially resolving constructor arguments via registered ParameterResolver
extensions.
Extensions that implement TestInstanceFactory
can be registered on test interfaces, top-level test classes, or @Nested
test classes.
Registering multiple extensions that implement
TestInstanceFactory
for any single class will result in an exception being thrown for all tests in that class, in any subclass, and in any nested class. Note that anyTestInstanceFactory
registered in a superclass or enclosing class (i.e., in the case of a@Nested
test class) is inherited. It is the user’s responsibility to ensure that only a singleTestInstanceFactory
is registered for any specific test class.