public class MockCustomerService implements CustomerService {
@Override
public Observable<Session> createSession(@Body Credential credential) {
return Observable.just(createSession());
}
private static Session createSession() {
return new Session("token");
}
}
This is the real one:
public interface CustomerService {
@POST("url")
Observable<Session> createSession(@Body Credential credential);
}
Then I try to mockit in @Before method:
MockRestAdapter mockRestAdapter = MockRestAdapter.from(ApiManager.REST_ADAPTER);
Customer.SERVICE = mockRestAdapter.create(CustomerService.class, new MockCustomerService());
But I get:
java.lang.NoSuchMethodError: rx.schedulers.Schedulers.from
at retrofit.MockRestAdapter$MockRxSupport.<init>(MockRestAdapter.java:476)
at retrofit.MockRestAdapter$MockHandler.invoke(MockRestAdapter.java:260)
at $Proxy1.createSession(Native Method)
at co.nullindustries.pickup.api.rest.customer.Customer.login(Customer.java:103)
at com.pickupnow.customer.activity.LoginActivity.lambda$performLogin$0(LoginActivity.java:115)
at com.pickupnow.customer.activity.LoginActivity.access$lambda$0(LoginActivity.java)
at com.pickupnow.customer.activity.LoginActivity$$Lambda$1.call(Unknown Source)
at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)
at com.pickupnow.customer.model.push_notification.PushManager$2.done(PushManager.java:60)
at com.pickupnow.customer.model.push_notification.PushManager$2.done(PushManager.java:50)
at com.parse.ParseTaskUtils$1.done(ParseTaskUtils.java:66)
at com.parse.ParseTaskUtils$1.done(ParseTaskUtils.java:63)
at com.parse.ParseTaskUtils$2$1.run(ParseTaskUtils.java:107)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.support.test.espresso.base.UiControllerImpl.loopUntil(UiControllerImpl.java:467)
at android.support.test.espresso.base.UiControllerImpl.loopUntil(UiControllerImpl.java:408)
at android.support.test.espresso.base.UiControllerImpl.injectMotionEvent(UiControllerImpl.java:226)
at android.support.test.espresso.action.MotionEvents.sendUp(MotionEvents.java:138)
at android.support.test.espresso.action.MotionEvents.sendUp(MotionEvents.java:118)
at android.support.test.espresso.action.Tap.sendSingleTap(Tap.java:135)
at android.support.test.espresso.action.Tap.access$100(Tap.java:35)
at android.support.test.espresso.action.Tap$1.sendTap(Tap.java:40)
at android.support.test.espresso.action.GeneralClickAction.perform(GeneralClickAction.java:98)
at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:144)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5694)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
Is there something that I´m doing wrong? should I use MockRestAdapter manually? There´s no doc about how to use it and looks dangerous O_O
Related to this question http://stackoverflow.com/questions/31189159/mock-retrofit-service-with-mockito
Mocked service:
This is the real one:
Then I try to mockit in @Before method:
But I get:
Is there something that I´m doing wrong? should I use MockRestAdapter manually? There´s no doc about how to use it and looks dangerous O_O
Thanks