给类的公有方法做单元测试,很简单,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();
- }
- }
本文介绍了一种针对Java类中私有方法进行单元测试的方法。通过反射机制获取私有方法并将其可访问性设为true,实现了对私有方法的有效测试。以一个文件大小格式化方法为例,展示了具体的测试步骤。
2569

被折叠的 条评论
为什么被折叠?



