为私有方法的NullPointerException编写junit测试用例时出现问题



函数模板为

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

我想在iFile为null的情况下测试NullPointerException。由于原始方法processTextFile本质上是Private,所以我在测试用例中使用反射来访问该方法,但我无法为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());
}

与其为私有方法编写单元测试,不如引用使用该私有方法的公共对象或方法来断言某些内部状态是预期的。

最新更新