Skip to content

Commit ba70c13

Browse files
committed
Polish SpringExtension internals
1 parent d24a31d commit ba70c13

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringExtension.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,18 +302,19 @@ public void afterEach(ExtensionContext context) throws Exception {
302302
@Override
303303
public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) {
304304
Parameter parameter = parameterContext.getParameter();
305+
Class<?> parameterType = parameter.getType();
305306
Executable executable = parameter.getDeclaringExecutable();
306307
PropertyProvider junitPropertyProvider = propertyName ->
307308
extensionContext.getConfigurationParameter(propertyName).orElse(null);
308309
return (TestConstructorUtils.isAutowirableConstructor(executable, junitPropertyProvider) ||
309-
ApplicationContext.class.isAssignableFrom(parameter.getType()) ||
310-
supportsApplicationEvents(parameterContext) ||
310+
ApplicationContext.class.isAssignableFrom(parameterType) ||
311+
supportsApplicationEvents(parameterType, executable) ||
311312
ParameterResolutionDelegate.isAutowirable(parameter, parameterContext.getIndex()));
312313
}
313314

314-
private boolean supportsApplicationEvents(ParameterContext parameterContext) {
315-
if (ApplicationEvents.class.isAssignableFrom(parameterContext.getParameter().getType())) {
316-
Assert.isTrue(parameterContext.getDeclaringExecutable() instanceof Method,
315+
private boolean supportsApplicationEvents(Class<?> parameterType, Executable executable) {
316+
if (ApplicationEvents.class.isAssignableFrom(parameterType)) {
317+
Assert.isTrue(executable instanceof Method,
317318
"ApplicationEvents can only be injected into test and lifecycle methods");
318319
return true;
319320
}

0 commit comments

Comments
 (0)