【发布时间】:2018-12-11 22:15:21
【问题描述】:
我正在尝试测试是否调用了接口方法并传入了确切的值。我收到以下错误:
org.mockito.exceptions.misusing.UnfinishedVerificationException:此处缺少验证(模拟)的方法调用: -> 在 com.example.app.initialize(example.java:136)
正确验证示例: 验证(模拟).doSomething()
此验证行正在抛出错误:
Mockito.verify(callback).onInitializeResult("initialized");
我的界面类:
public interface InitCallback {
/**
* Returns whether or not the app was initialized. .
*/
void onInitializeResult(String result);
}
我的单元测试:
@Test
public void initializationTest(){
InitCallback callback = Mockito.spy(new InitCallback() {
@Override
public void onInitializeResult(String result) {
}
});
mExample.initialize(mContext, callback);
Mockito.verify(callback).onInitializeResult("initialized");
}
我还尝试将回调模拟替换为:
InitCallback callback = Mockito.mock(InitCallback.class);
Mockito.doNothing().when(callback).onInitializeResult(Mockito.anyString());
但是我仍然遇到同样的错误。该接口只有 1 个方法,它不是最终的。有什么想法吗?
【问题讨论】:
标签: java android unit-testing mocking mockito