gpt4 book ai didi

java - 使用 Mockito 监视对象

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:29 25 4
gpt4 key购买 nike

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

public interface A extends ABase { } 

其中ABase是一个包含具体方法的接口(interface)。我在 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 是一个接口(interface),而接口(interface)不能扩展类:

您正在将 A 传递给 verify。这甚至不应该编译。尝试使用 bar 代替。 Mockito 期望将模拟或 spy 传递给 verify,以便您可以验证对特定参数的调用。

关于java - 使用 Mockito 监视对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37820011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com