Junit中对私有方法测试

时间:2022-08-22 19:30:18

在Junit中对私有方法进行测试有两种方法:

     一、改变私有方法的访问权限(此方法并不推荐)

     二、使用反射机制(推荐)

      例如:Calculator类中有一个  private int add2(int a,int b)
        {
                  return a+b;
          }


              那么在我们的测试类的测试方法中:

   @Test
   public void add2()
   {
Calculator c=new Calculator();
Class<Calculator> cal=Calculator.class;

try {
               Method method=cal.getDeclaredMethod("add2", new Class[]{int.class,int.class});
method.setAccessible(true);
       Object obj=method.invoke(c, new Object[]{1,2});

        Assert.assertEquals(3, obj);
} catch (Exception e) {
Assert.fail("-----");

}