我在课堂上有两个两个方法。我只想测试其中的一个。
所以我正在“监视”第二种方法的调用:
@Spy @InjectMocks private Manager manager;
//...
doReturn(obj).when(manager).method2(any());
我在这里得到
RuntimeException
:
Caused by: org.mockito.exceptions.base.MockitoException: Cannot create a @Spy for 'manager' field because the *instance* is missing
这里出了什么问题?
首先,@Spy 可以与@InjectMocks 一起使用。
其次,我也遇到这个问题。修改时
@RunWith(PowerMockRunner.class)
@RunWith(MockitoJUnitRunner.class)
,我解决了。
正确的使用方法是将其用作 @间谍 列表列表 = new ArrayList<>()