private(私有)方法单元测试无法覆盖?那就用反射调用来测试private(私有)方法
代码测试覆盖率是衡量软件质量的重要指标,但常规的Junit不能对private方法进行测试,那么就会影响我们的覆盖率。 不过有一个办法可以在Junit框架中测试private的方法,那就是反射! 我们知道可以通过反射method.invoke来调用某个方法,但如果方法前面为private怎么办呢?我们可以使用method.setAccessible(true);来跳过安全检查,就可以调用private方法了。原理就这么简单。 这里,我将这个功能封装成一个工具类,单元测试中可以直接调用即可: import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class PrivateMethodTestUtils { /** * * @Description:调用只有一个参数的私有方法 * @since 1.0.0 * @Date:2013-1-23 下午2:54:00 * @param methodHostInstance * @param methodName * @param arg * @return Object */ public