如何验证是否对对象的依赖项调用了方法?

例如:

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??**
    }
}

推荐答案

更有意义的是:

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

// ...

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

这个特性的文档在那里§4 "Verifying exact number of invocations / at least x / never",never的javadoc是here.

Java相关问答推荐

在正确位置绘制多边形的PFA问题

Java中Stream(java.util.stream)和linkedList数据 struct 之间是什么关系?

是否可以从@ TrustMapping中删除特定方法的基路径?

Android Studio—java—在onBindViewHolder中,将断点和空白添加到BackclerView中

如果一个子类没有构造函数,超类也没有构造函数,那么为什么我可以构造子类的实例呢?

无法传递消费者<;>;实例

给定Java枚举类,通过值查找枚举

R.id.main给我一个红色错误,无法解析MainActivity.java中的符号main

Java编译器抛出可能未正确初始化的错误?

我不能再在Android Studio Hedgehog上用Java语言创建新项目了吗?

Mapstruct不能正确/完全映射属性

JDK 21-为什么线程局部随机S nextInt不直接用Super.nextInt实现?

在添加AdMob时无法为Google Play构建应用程序包:JVM垃圾收集器崩溃和JVM内存耗尽

在Java中将int[]矩阵添加到ArrayList中,但出现错误

在Frege中,我如何将一个字符串安全地转换为一个可能的Int?

如果List是一个抽象接口,那么Collectors.toList()如何处理流呢?

如何在Spring Boot Auth服务器上正确配置CORS?

Java 21内置http客户端固定运营商线程

HBox内部的左对齐按钮(如果重要的话,在页码内)

如何使用stream.allMatch()为空流返回false?