Private方法单元测试

Private方法测试

private方法无法直接测试, 需要通过反射将方法修改为可访问之后再进行测试。

举个栗子:

public class DemoClass {
    private int add(int a, int b) {
        return a + b;
    }
}

测试类:

public class PrivateMethodTest {
    @Test
    public void testAdd() throws Exception {
        Method method = DemoClass.class.getDeclaredMethod("add", int.class, int.class); //通过反射获取方法的定义
        method.setAccessible(true); //设置为可访问
        Object result = method.invoke(DemoClass.class.newInstance(), 1,1);//调用方法
        Assert.assertEquals(2, result);  //验证结果
    }
}
发布了31 篇原创文章 · 获赞 12 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章