m0_46585788 2021-07-28 00:35 采纳率: 0%
浏览 18

junit怎样测试私有化方法两个参数其中有可变参的方法?

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-微编程 2021-07-28 06:20
    关注

    junit怎样测试私有化方法两个参数其中有可变参的方法?
    首先要明白参数不是方法,所以你主要应该要问junit怎样测试私有化方法,和参数无关
    junit测试私有化方法看下面的示例代码:

    public class calcutate2{
        
        private static String stringtest;
        
        public void  setvalue(String temp){
        
         stringtest=temp+"123";  //get value: stringtest
        
        }
     
        public String getvalue(){  //return the stringtest value for unit test
     
         return stringtest;
        
        }
    }
    
    import org.junit.Assert;
    import java.lang.reflect.Method;
    import org.junit.Test;
    public class PrivateTest {
     
     @Test
     @SuppressWarnings("unchecked")
     public void testAdd()
     {
      calcutate2 cal = new calcutate2();
      Class c = calcutate2.class;//获得class类
      try
      {
       Method method = c.getDeclaredMethod("add", new Class[]{int.class,int.class});//获得method.注意,这里不能使用getMethod方法,因为这个方法只能获取public修饰的方法..
       method.setAccessible(true);//这个设置为true.可以无视java的封装..不设置这个也无法或者这个Method
       Object result = method.invoke(cal, new Object[]{1,10});
       Assert.assertEquals(11, result);//这里自定拆箱..
      }
      catch (Exception e)
      {
       e.printStackTrace();
      }
     }
    }
    

    主要是靠反射技术,你的图片中可变长参数,其实就是一个数组而已

    评论

报告相同问题?

问题事件

  • 创建了问题 7月28日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络