函数模板是
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());
}
最佳答案
不要为私有(private)方法编写单元测试,而是引用利用该私有(private)方法的公共(public)对象或方法来断言某些内部状态符合预期。
关于java - 为私有(private)方法的 NullPointerException 编写 junit 测试用例时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60951444/