Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为方法调用的每个实例返回相同的值_Java_Mockito - Fatal编程技术网

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

Java 为方法调用的每个实例返回相同的值,java,mockito,Java,Mockito,嗨,我不是在使用PowerMockito,而是在使用普通的PowerMockito,并试图模拟如下内容: when(any(File.class).canWrite()).thenReturn(Boolean.FALSE) 但是我得到了一个NullPointerException。基本上不需要模拟特定实例,我想模拟文件对象的任何和所有实例,以返回FALSEforcanWrite() 有人能帮忙吗?我可以模拟对象,但我正在测试的代码在静态方法中。这是不可能的。对于常规Mockito,在when(

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

when(any(File.class).canWrite()).thenReturn(Boolean.FALSE)
但是我得到了一个
NullPointerException
。基本上不需要模拟特定实例,我想模拟文件对象的任何和所有实例,以返回
FALSE
for
canWrite()


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

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

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

您需要将文件对象实例化为模拟对象

File fileMock = mock(File.class);    
when(fileMock.canWrite()).thenReturn(Boolean.FALSE)

你认为
任何(…)
做什么?你为什么这么认为?我想我可以使用PowerMock,但我想知道是否有一种方法可以在现有框架内为所有对canWrite()的调用返回FALSE?他还可以使用
间谍
。如果他可以获得一个文件的实例,是的。但我对这个问题的理解是,他希望在任何地方实例化的每个文件都被模拟。即使有间谍,只有普通的Mockito,你也只能在你能得到一个对象实例的情况下才能这么做。
File fileMock = mock(File.class);    
when(fileMock.canWrite()).thenReturn(Boolean.FALSE)