单元测试时测试一个private私有方法时,我们第一想法可能是用java反射机制。
... Method method = clazz.getDeclaredMethod(methodName, classes) method.setAccessible(true); method.invoke(obj, objects)
Spring 有一个好用的测试工具类ReflectionTestUtils
... ReflectionTestUtils.invokeMethod(Object target, String name, Object... args)
即可完成调用私有方法。
maven依赖:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.6.RELEASE</version> <scope>test</scope> </dependency>