我正在嘗試使用Mockito對一個方法的調用次數進行一些驗證,但是我在所有教程中看到的語法都是導致「未解決的編譯問題「日食中的錯誤。我嘲笑的類是:無法用eclipse中的mockito驗證方法調用
public class ClassToBeMocked {
public void methodToVerify(String input) {
}
}
測試是:
@RunWith(MockitoJUnitRunner.class)
public class MockitoTest {
@Mock ClassToBeMocked mockedClass;
@Before
public void setUp() throws Exception {
this.mockedClass = Mockito.mock(ClassToBeMocked.class);
}
@Test
public void test() {
Mockito.verify(mockedClass, Mockito.never()).methodToVerify();
}
}
但是當我試圖在Eclipse中運行測試,我得到這個錯誤:
java.lang.Error: Unresolved compilation problem:
The method methodToVerify(String) in the type ClassToBeMocked is not applicable for the arguments()
at MockitoTest.test(MockitoTest.java:28)
at . . .
在第一次臉紅,錯誤似乎是合乎邏輯的:畢竟,看起來好像我正在調用方法而不傳入所需的參數。但我認爲Mockito會做一些底層的工作來使其發揮作用。
如果我的框架使用不對,那麼我應該如何驗證這個方法?
我正在使用Mockito版本2.7.6。我還沒有嘗試在eclipse之外運行測試,因爲我是java/junit/mockito/maven的新手,我還沒有弄清楚如何從終端運行測試。