我正在遵循Vogella关于Mockito的教程,并且几乎立即陷入困境。IntelliJ显示以下类的cannot resolve method 'when'
。
…我错过了什么?
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class MockitoTest {
@Test
public void test1() {
MyClass test = Mockito.mock(MyClass.class);
// define return value for method getUniqueId()
test.when(test.getUniqueId()).thenReturn(43);
// TODO use mock in test....
}
}
方法when()不是MyClass类的一部分。它是Mockito类的一部分:
Mockito.when(test.getUniqueId()).thenReturn(43);
或者,带静态导入:
import static org.mockito.Mockito.*;
...
when(test.getUniqueId()).thenReturn(43);
您试图从模拟类中获得的时间。您需要执行如下操作:
...
MyClass test = Mockito.mock(MyClass.class);
Mockito.when(test.getUniqueId()).thenReturn(43);
...