如何给一个私有方法做单元测试

Iolanthe ·
更新时间:2024-11-11
· 561 次阅读

  给类的公有方法做单元测试,很简单,new一个对象,设好入口参数后,调用这个方法,比较期望值和实际值即可。给一个类的私有方法做单元测试,也不麻烦,先通过反射获取这个方法,然后将这个方法的可访问性强制设为true,这样的话,这个私有方法可以被调用了。   代码如下:

 

//被测试方法 private Double format(Double fileSize){ Double size = fileSize; size = size / 1024 / 1024; size = (int)(size.doubleValue() * 10 + 0.5) / 10.0; return size; } @Test public void testFormat(){ ClientDownloadAction action = new ClientDownloadAction(); double size = 3732930; Class class1 = action.getClass(); try { Method format = class1.getDeclaredMethod("format", Double.class); format.setAccessible(true);//设为可见 Double result = (Double)format.invoke(action, size); Double expect = 3.6; Assert.assertEquals(expect, result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }

 



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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章