gpt4 book ai didi

java - 为什么在模拟后返回对象时会出现 NullPointerException?

转载 作者:行者123 更新时间:2023-11-30 08:49:15 25 4
gpt4 key购买 nike

在模拟我的 File 类后返回的对象总是 null。为什么?

PowerMockito.whenNew(File.class).withArguments(String.class).thenReturn(configFile);

configFile 是一个 File,在测试函数中是这样创建的:

@Test
public void loadJSONConfigFileTest() throws Exception {
final File configFile = folder.newFile("config.json");
}

它不是null。应该获取返回的 configFile 的代码:

final File configFile = new File(pathFile);

由于带参数的 File.class 是模拟的,当执行此行时,将返回 configFile。但它是 null

最佳答案

您错误地使用了 withArguments。它不期待一个类,它期待实际的实例。

试试这个:

PowerMockito.whenNew(File.class)
.withArguments(Mockito.anyString())
.thenReturn(configFile);

参见:Mockito.anyString()

关于java - 为什么在模拟后返回对象时会出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31517937/

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