Polishing

This commit is contained in:
Sam Brannen
2024-10-23 17:16:41 +02:00
parent 5bf179b851
commit 8fa99dcbdd

View File

@@ -16,6 +16,7 @@
package org.springframework.test.context.bean.override.mockito;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashSet;
@@ -34,6 +35,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.MergedAnnotation;
import org.springframework.core.annotation.MergedAnnotations;
import org.springframework.core.annotation.MergedAnnotations.SearchStrategy;
import org.springframework.lang.Nullable;
import org.springframework.test.context.TestContext;
import org.springframework.test.context.TestContextAnnotationUtils;
@@ -57,10 +59,8 @@ public class MockitoResetTestExecutionListener extends AbstractTestExecutionList
private static final String SPRING_MOCKITO_PACKAGE = "org.springframework.test.context.bean.override.mockito";
private static final Predicate<MergedAnnotation<?>> isMockitoAnnotation = mergedAnnotation -> {
String packageName = mergedAnnotation.getType().getPackageName();
return packageName.startsWith(SPRING_MOCKITO_PACKAGE);
};
private static final Predicate<MergedAnnotation<?>> isSpringMockitoAnnotation = mergedAnnotation ->
mergedAnnotation.getType().getPackageName().equals(SPRING_MOCKITO_PACKAGE);
/**
* Executes before {@link org.springframework.test.context.bean.override.BeanOverrideTestExecutionListener}.
@@ -153,13 +153,13 @@ public class MockitoResetTestExecutionListener extends AbstractTestExecutionList
*/
private static boolean hasMockitoAnnotations(Class<?> clazz) {
// Declared on the class?
if (MergedAnnotations.from(clazz, MergedAnnotations.SearchStrategy.DIRECT).stream().anyMatch(isMockitoAnnotation)) {
if (isAnnotated(clazz)) {
return true;
}
// Declared on a field?
for (Field field : clazz.getDeclaredFields()) {
if (MergedAnnotations.from(field, MergedAnnotations.SearchStrategy.DIRECT).stream().anyMatch(isMockitoAnnotation)) {
if (isAnnotated(field)) {
return true;
}
}
@@ -179,7 +179,7 @@ public class MockitoResetTestExecutionListener extends AbstractTestExecutionList
}
}
// Declared on an enclosing class of an inner class?
// Declared on an enclosing class?
if (TestContextAnnotationUtils.searchEnclosingClass(clazz)) {
if (hasMockitoAnnotations(clazz.getEnclosingClass())) {
return true;
@@ -189,4 +189,8 @@ public class MockitoResetTestExecutionListener extends AbstractTestExecutionList
return false;
}
private static boolean isAnnotated(AnnotatedElement element) {
return MergedAnnotations.from(element, SearchStrategy.DIRECT).stream().anyMatch(isSpringMockitoAnnotation);
}
}