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

发表于:2014-6-18 11:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:pinshiqi    来源:51Testing软件测试网采编

  给类的公有方法做单元测试,很简单,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();
}
}
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号