Android 如何用mockito替换所有项目中的方法调用
我想知道如何模拟在我的android项目中许多地方调用的方法。例如,我有一门课: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
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不进行方法替换。