junit单元测试中私有方法测试

1、单元测试可以对系统逻辑进行每个单元模块的测试。

2、单元测试也可以作为回归测试的依据,可以避免升级完善功能时引入问题。

3、单元测试要求将代码写的更清晰,更易于测试。

4、有时单元测试需要测试私有方法以及私有静态方法可以采用下述反射方式。

@Test
public void testGetKey(){
Map<String,Object> map = new HashMap<String,Object>();
map.put("pin","abc");
map.put("uuid","test");
map.put("listPic","listPic");

Method method = null;// 要调用的方法是SetCommodity_number
try {
method = UserBehaviorUtil.class.getDeclaredMethod("getKey",new Class[]{String.class,Map.class});
} catch (NoSuchMethodException e) {
e.printStackTrace();
}

method.setAccessible(true);// 允许处理私有方法

try {
Object obj = method.invoke(UserBehaviorUtil.class, new Object[] { "abc",map });// 调用方法
assertNotNull(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}

method.setAccessible(false);
}

      扫码关注公众号

posted @ 2016-08-03 09:49  杉枫  阅读(12547)  评论(1编辑  收藏  举报