gpt4 book ai didi

java - 为私有(private)方法的 NullPointerException 编写 junit 测试用例时出现问题

转载 作者:行者123 更新时间:2023-12-02 00:58:59 27 4
gpt4 key购买 nike

函数模板是

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com