Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何用mockito替换所有项目中的方法调用_Android_Mockito_Robolectric_Android Testing - Fatal编程技术网

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

Android 如何用mockito替换所有项目中的方法调用,android,mockito,robolectric,android-testing,Android,Mockito,Robolectric,Android Testing,我想知道如何模拟在我的android项目中许多地方调用的方法。例如,我有一门课: public class RequestQueue { protected RequestQueue mRequestQueue; protected Context mCtx; public RequestQueue(Context context) { ... } public void addRequestToQueue(BaseRequest r

我想知道如何模拟在我的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) {
        ...
    }
}
我想用FakerRequestQueue.addRequestToQueue替换整个项目中对RequestQueue.addRequestToQueue的所有调用。我理解mock的概念,但到目前为止,我所发现的只是一种模拟本地实例化对象的方法。
谢谢。

使用@rciovati建议的匕首是一种解决方案


另一个解决方案是使用机器人阴影系统。影子类类似于代理,您可以在其中替换方法的实现。可以在

找到一个例子,你可以考虑引入一个依赖注入框架,比如匕首。你能再解释一下你的问题吗?我不明白你到底需要什么。。你所说的替换所有呼叫是什么意思?Mockito不进行方法替换。