我正在尝试使用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的新手,我还没有弄清楚如何从终端运行测试。