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