public class SpringExtension
extends java.lang.Object
implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.TestInstancePostProcessor, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeTestExecutionCallback, org.junit.jupiter.api.extension.AfterTestExecutionCallback, org.junit.jupiter.api.extension.ParameterResolver
SpringExtension integrates the Spring TestContext Framework
into JUnit 5's Jupiter programming model.
To use this extension, simply annotate a JUnit Jupiter based test class with
@ExtendWith(SpringExtension.class), @SpringJUnitConfig, or
@SpringJUnitWebConfig.
EnabledIf,
DisabledIf,
SpringJUnitConfig,
SpringJUnitWebConfig,
TestContextManager| Constructor and Description |
|---|
SpringExtension() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
Delegates to
TestContextManager.afterTestClass(). |
void |
afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
|
void |
afterTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
|
void |
beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
Delegates to
TestContextManager.beforeTestClass(). |
void |
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
|
void |
beforeTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
|
static ApplicationContext |
getApplicationContext(org.junit.jupiter.api.extension.ExtensionContext context)
Get the
ApplicationContext associated with the supplied ExtensionContext. |
void |
postProcessTestInstance(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context)
Delegates to
TestContextManager.prepareTestInstance(java.lang.Object). |
java.lang.Object |
resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext,
org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Resolve a value for the
Parameter in the supplied ParameterContext by
retrieving the corresponding dependency from the test's ApplicationContext. |
boolean |
supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext,
org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Determine if the value for the
Parameter in the supplied ParameterContext
should be autowired from the test's ApplicationContext. |
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
TestContextManager.beforeTestClass().beforeAll in interface org.junit.jupiter.api.extension.BeforeAllCallbackjava.lang.Exceptionpublic void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
TestContextManager.afterTestClass().afterAll in interface org.junit.jupiter.api.extension.AfterAllCallbackjava.lang.Exceptionpublic void postProcessTestInstance(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
TestContextManager.prepareTestInstance(java.lang.Object).postProcessTestInstance in interface org.junit.jupiter.api.extension.TestInstancePostProcessorjava.lang.Exceptionpublic void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallbackjava.lang.Exceptionpublic void beforeTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
beforeTestExecution in interface org.junit.jupiter.api.extension.BeforeTestExecutionCallbackjava.lang.Exceptionpublic void afterTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
TestContextManager.afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable).afterTestExecution in interface org.junit.jupiter.api.extension.AfterTestExecutionCallbackjava.lang.Exceptionpublic void afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
throws java.lang.Exception
TestContextManager.afterTestMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable).afterEach in interface org.junit.jupiter.api.extension.AfterEachCallbackjava.lang.Exceptionpublic boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext,
org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Parameter in the supplied ParameterContext
should be autowired from the test's ApplicationContext.
Returns true if the parameter is declared in a Constructor
that is annotated with @Autowired and otherwise delegates to
ParameterAutowireUtils.isAutowirable(java.lang.reflect.Parameter, int).
WARNING: If the parameter is declared in a Constructor
that is annotated with @Autowired, Spring will assume the responsibility
for resolving all parameters in the constructor. Consequently, no other registered
ParameterResolver will be able to resolve parameters.
supportsParameter in interface org.junit.jupiter.api.extension.ParameterResolverresolveParameter(org.junit.jupiter.api.extension.ParameterContext, org.junit.jupiter.api.extension.ExtensionContext),
ParameterAutowireUtils.isAutowirable(java.lang.reflect.Parameter, int)@Nullable public java.lang.Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Parameter in the supplied ParameterContext by
retrieving the corresponding dependency from the test's ApplicationContext.
Delegates to ParameterAutowireUtils.resolveDependency(java.lang.reflect.Parameter, int, java.lang.Class<?>, org.springframework.context.ApplicationContext).
resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolversupportsParameter(org.junit.jupiter.api.extension.ParameterContext, org.junit.jupiter.api.extension.ExtensionContext),
ParameterAutowireUtils.resolveDependency(java.lang.reflect.Parameter, int, java.lang.Class<?>, org.springframework.context.ApplicationContext)public static ApplicationContext getApplicationContext(org.junit.jupiter.api.extension.ExtensionContext context)
ApplicationContext associated with the supplied ExtensionContext.context - the current ExtensionContext (never null)java.lang.IllegalStateException - if an error occurs while retrieving the application contextTestContext.getApplicationContext()