java-为方法调用的每个实例返回相同的值

嗨,我不是使用PowerMockito,而是普通的并尝试模拟如下内容:

when(any(File.class).canWrite()).thenReturn(Boolean.FALSE)

但是我得到了一个N​​ullPointerException.基本上不模拟特定实例,我想模拟文件对象的所有实例以为canWrite()返回FALSE.

有人可以帮忙吗?我可以模拟对象,但是我正在测试的代码在静态方法中.

解决方法:

这是不可能的.使用常规的Mockito,在when()调用中需要一些模拟对象,而不是任何匹配器.

例如,当您说出any(File.class)

when(any(File.class).canWrite()).thenReturn(Boolean.FALSE)

您需要具有已实例化为Mock的文件对象

File fileMock = mock(File.class);    
when(fileMock.canWrite()).thenReturn(Boolean.FALSE)
上一篇:java-缺少对verify(mock)的方法调用,但是有一个?


下一篇:java-Powermock-模拟超级方法调用