使用Mockito投射后监视对象



我正在使用Mockito编写一些单元测试。我遇到了以下情况:

public interface A extends ABase { } 

其中ABase是一个包含具体方法的接口。我在 A 的实例上使用 Mockito.spy(),我想验证在 ABase 中声明foo()的方法是否在我正在编写的代码中调用。在所述代码中,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

关于该怎么做的任何建议?谢谢!

编辑:我最初的问题中有一些错误。抱歉,现在应该修复了。

除了ABase不能是一个类之外,因为A是一个接口,接口不能扩展类:

你把A传给verify.这甚至不应该编译。请尝试改用bar。Mockito希望将模拟或间谍传递给verify以便您可以验证对特定参数的调用。

相关内容

  • 没有找到相关文章

最新更新