我正在 TDD 中使用 mockito 编写一个新类( Derived ),我有以下情况:

类(class)基础:

public abstract class Base<T>{
    //.......
    protected final T baseCreate(T entity){
        // implementation
    }
}

派生类(这是我使用 TDD 编写的类):
public class Derived extends Base<MyObject> {
    //.......
    public MyObject create(MyObject entity){
        baseCreate(entity);    //This is what I want the implementation to be
    }
}

当我开始编写测试时,它会强制我调用 baseCreate 方法 - 我不明白如何做到这一点。
有没有办法使用mockito来验证create(...)中的Derived方法调用了baseCreate(...)类中的Base方法?

谢谢。

最佳答案

单元测试是为了测试类的行为,而不是它的实现。所以你不应该关心 BasebaseCreate() 是否被显式调用,而是调用 Derivedcerate() 是否完全符合你从外部观察者的角度所期望的

10-06 13:30