首页文章分类 关于 Search private(私有)方法单元测试无法覆盖?那就用反射调用来测试private(私有)方法
来源:互联网 发布:moodle网络课程平台 编辑:程序博客网 时间:2024/06/06 03:59
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class PrivateMethodTestUtils { public static Object invoke(Object methodHostInstance, String methodName, Object arg) { Class<?>[] parameterTypes = { arg.getClass() }; Object[] args = { arg }; return invoke(methodHostInstance, methodName, parameterTypes, args); } public static Object invoke(Object methodHostInstance, String methodName, Class<?>[] parameterTypes, Object[] args) { try { Method method = methodHostInstance.getClass().getDeclaredMethod( methodName, parameterTypes); method.setAccessible(true); try { return method.invoke(methodHostInstance, args); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } method.setAccessible(false); } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } return null; }}
/**
*测试类
***/
public class UserManager{ public void addUser(User user){ …… encryptPwd(user.getPwd); …… } private String encryptPwd(String pwd){ String encryptPwd=encrypt(pwd); return encryptPwd; }}
public class UserManagerTest{ @SpringBeanByType private UserManager manager; @Test public void test密码加密(){ String pwd="123456"; Object result= PrivateMethodTestUtils.invoke(manager, "encryptPwd", pwd); assertEquals("werjadf234f314dfdfg", result); }}
阅读全文
0 0
- 首页文章分类 关于 Search private(私有)方法单元测试无法覆盖?那就用反射调用来测试private(私有)方法
- private(私有)方法单元测试无法覆盖?那就用反射调用来测试private(私有)方法
- Junit4 单元测试 private 私有方法 abstract类
- java 私有方法(private)
- java 反射调用 私有构造类中 private static final 属性的方法
- 关于java的反射,调用私有方法(有参数私有方法),私有属性
- 测试反射调用私有方法/私有静态方法
- 反射调用私有方法
- 私有变量和私有方法private的用法
- 通过反射调用private方法
- C#反射调用私有方法
- 利用反射调用私有方法
- 利用反射测试私有方法
- 通过反射测试私有方法
- java利用反射访问类的私有(private)属性及方法
- java利用反射来调用一个类的私有方法
- JUnit单元测试(五)--通过反射测试私有方法
- [JAVA]在Junit中测试私有函数的方法(junit, private, method)
- TCP服务器通信
- 读取excel到数据库
- gpio子系统和pinctrl子系统(三)
- POJ 1328 Radar Installation(贪心)
- popUpWindow响应返回键并关闭
- 首页文章分类 关于 Search private(私有)方法单元测试无法覆盖?那就用反射调用来测试private(私有)方法
- easyui combobox默认设置第一个行数据
- jQuery+bootstrap实现美化警告/确认/提示对话框插件
- RMQ算法
- Centos7开机启动自己的脚本
- 友盟推送遇到的坑
- java的4种代码块
- MongoDB逻辑操作符$or, $and,$not,$nor
- nginx启动不了