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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章