在模拟我的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
。
答案 0 :(得分:2)
您错误地使用了withArguments
。它不期待一个类,它期待实际的实例。
试试这个:
PowerMockito.whenNew(File.class)
.withArguments(Mockito.anyString())
.thenReturn(configFile);