单元测试Mock的时候出现org.mockito.exceptions.misusing.NotAMockException

@InjectMocks
XXXX xxxx;
Mockito.doNothing().when(xxxx).init();

org.mockito.exceptions.misusing.NotAMockException: 
Argument passed to when() is not a mock!
Example of correct stubbing:
    doThrow(new RuntimeException()).when(mock).someMethod();

这是因为我们在验证某些结果的时候,我们的对象使用被@InjectMocks注解了,此时并不是真实的Mock,此时我们可以在@InjectMocks上面加上一个@Spy注解就可以了,此时它就是一个真实的mock了

@InjectMocks 
@Spy
XXXX xxxx;

你可能感兴趣的:(Java开发异常大全,单元测试,异常)