在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("-----");
}
}