Проблема в написании тестового примера junit для NullPointerException для закрытых методов - PullRequest
0 голосов
/ 31 марта 2020

Шаблон функции:

private static void processTextFile(String iFile, String tmpDirLoc, String tmpDrive, String iMode)

Я хочу проверить исключение NullPointerException в случае, если iFile равен нулю. Поскольку исходный метод processTextFile является закрытым по своей природе, поэтому я использую отражение в своем тестовом примере для доступа к методу, но не могу написать тестовый пример для условия AssertThrows. пожалуйста, помогите мне написать это.

это мой код

    @Test()
    public void TC1_processTextFileTest() {
    Method method = crashParser.class.getDeclaredMethod("left",String.class,int.class);
    method.setAccessible(true);
    crashParser cp = new crashParser();
    String ifile=null;
    //cp.processTextFile(ifile,null,null,null);
    //NullPointerException ex= assertThrows(NullPointerException.class,()-> 
   //cp.processTextFile(ifile,null,null,null));
    //assertEquals("Array can't be null",ex.getMessage());
   }

1 Ответ

2 голосов
/ 31 марта 2020

Вместо написания модульного теста для закрытого метода, вместо этого обратитесь к объекту или методу publi c, который использует этот закрытый метод, чтобы утверждать, что некоторое внутреннее состояние соответствует заданному.

...