Skip to content

Commit 0594b45

Browse files
Merge pull request #77 from mockito/fix-mockito-4.5.0
Don't use internal class Fields from Mockito [skip release]
2 parents 5f5a4a1 + d94d780 commit 0594b45

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/main/java/org/mockito/testng/MockitoTestNGListener.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55
package org.mockito.testng;
66

77
import java.lang.annotation.Annotation;
8+
import java.lang.reflect.Field;
9+
import java.util.ArrayList;
810
import java.util.Arrays;
911
import java.util.HashMap;
12+
import java.util.List;
1013
import java.util.Map;
1114
import java.util.Optional;
1215
import java.util.stream.Stream;
1316

1417
import org.mockito.InjectMocks;
1518
import org.mockito.Mockito;
1619
import org.mockito.MockitoSession;
17-
import org.mockito.internal.util.reflection.Fields;
1820
import org.mockito.internal.util.reflection.InstanceField;
1921
import org.mockito.quality.Strictness;
2022
import org.testng.IInvokedMethod;
@@ -91,7 +93,7 @@ public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
9193
// in order to restore state before next tests
9294
// https://github.com/mockito/mockito-testng/issues/28
9395
injectMocksFieldsValues.computeIfAbsent(testResult.getInstance(), testInstance ->
94-
Fields.allDeclaredFieldsOf(testInstance).instanceFields()
96+
allDeclaredFieldsOf(testInstance)
9597
.stream()
9698
.filter(field -> field.isAnnotatedBy(InjectMocks.class))
9799
.collect(HashMap::new, (m, v) -> m.put(v, v.read()), HashMap::putAll));
@@ -157,4 +159,14 @@ <A extends Annotation> Optional<A> findAnnotation(ITestResult testResult, Class<
157159

158160
return Optional.empty();
159161
}
162+
163+
private static List<InstanceField> allDeclaredFieldsOf(Object testInstance) {
164+
List<InstanceField> result = new ArrayList<>();
165+
for (Class<?> clazz = testInstance.getClass(); clazz != Object.class; clazz = clazz.getSuperclass()) {
166+
for (Field field : clazz.getDeclaredFields()) {
167+
result.add(new InstanceField(field, testInstance));
168+
}
169+
}
170+
return result;
171+
}
160172
}

0 commit comments

Comments
 (0)