您的位置:首页 > 其它

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

2013-07-18 18:05 567 查看
给类的公有方法做单元测试,很简单,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();
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: