模拟我的null
类后,返回的对象始终为File
。为什么?
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()