如何验证未使用 Mockito 调用特定方法?

新手上路,请多包涵

如何验证 在对象的依赖项上调用方法?

例如:

 public interface Dependency {
    void someMethod();
}

public class Foo {
    public bar(final Dependency d) {
        ...
    }
}

通过 Foo 测试:

 public class FooTest {
    @Test
    public void dependencyIsNotCalled() {
        final Foo foo = new Foo(...);
        final Dependency dependency = mock(Dependency.class);
        foo.bar(dependency);
        **// verify here that someMethod was not called??**
    }
}

原文由 beluchin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 573
2 个回答

更有意义:

 import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;

// ...

verify(dependency, never()).someMethod();

此功能的文档位于 §4“验证确切的调用次数/至少 x / 从不” ,而 never javadoc 位于 此处

原文由 Brice 发布,翻译遵循 CC BY-SA 3.0 许可协议

Mockito.verify 方法上使用第二个参数,如下所示:

 Mockito.verify(dependency, Mockito.times(0)).someMethod()

原文由 beluchin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题