我正在使用Mockito编写一些单元测试。我遇到了以下情况:
public interface A extends ABase { }
其中ABase
是具有其中具体方法的接口。我在A的实例上使用Mockito.spy()
,我想验证在foo()
中声明的方法ABase
是在我正在编写的一段代码中调用的。在所述代码中,A
被强制转换为ABase
并且foo()
被调用。但是,我在我尝试验证foo()
的行上遇到了构建错误(找不到方法),在我的测试方法中调用了这个:
A bar = spy(new A());
//... (function I'm testing is called, A is cast to ABase and foo() called)
verify(bar, times(1)).foo(); //problem line, foo not found
有关做什么的任何建议?谢谢!
编辑:我原来的问题中有一些错误。我道歉,现在应该修复。答案 0 :(得分:0)
除了ABase
不能成为类之外,因为A
是一个接口而接口不能扩展类:
您将A
传递给verify
。这甚至不应该编译。请尝试使用bar
。 Mockito希望将模拟或间谍传递给verify
,以便您可以验证特定参数的调用。