如何用mockito替换所有项目中的方法调用



我想知道如何模拟在我的android项目中许多地方调用的方法。例如,我有这样一个类:

public class RequestQueue {
    protected RequestQueue mRequestQueue;
    protected Context mCtx;
    public RequestQueue(Context context) {
        ...
    }
    public void addRequestToQueue(BaseRequest request) {
        ...
    }
}

这个:

public class FakeRequestQueue extends RequestQueue {
    public FakeRequestQueue(Context context, int expectedRetCode) {
        super(context);
        ...
    }
    @Override
    public void addRequestToQueue(BaseRequest request) {
        ...
    }
}

我想要的是在我的整个项目中用FakeRequestQueue.addRequestToQueue()替换所有对RequestQueue.addRequestToQueue()的调用。我理解mock的概念,但到目前为止,我发现的只是一种本地实例化的mock对象的方法。非常感谢。

使用@rciovati建议的dagger是一种解决方案。

另一种解决方案可能是使用自动电动阴影系统。shadow类就像一个代理,您可以在其中替换方法的实现。一个例子可以在Robolectric阴影不工作

相关内容

  • 没有找到相关文章

最新更新