如何给一个私有方法做单元测试
Posted bruce128
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给一个私有方法做单元测试相关的知识,希望对你有一定的参考价值。
给类的公有方法做单元测试,很简单,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();
以上是关于如何给一个私有方法做单元测试的主要内容,如果未能解决你的问题,请参考以下文章