質問

I've been following this blog entry which shows how to mock requests with Mockito and Retrofit. The problem is I'm using both along Robospice, which it doesn't require to provide a Callback as parameter on the service interface (as it would be a synchronous call):

@GET("/foo/bar")
User foo(@Query("bar") String baz);

So I cannot intercept the callback on my tests on this way:

Mockito.verify(mockApi).repositories(Mockito.anyString(), cb.capture());
User user = new User();
cb.getValue().success(user, null);

Is any way to achieve this?. Thanks!

役に立ちましたか?

解決

Mock the service interface and then script it to return the value you desire.

doReturn(new User()).when(service).foo(anyString());

You can later verify that this method was called.

verify(service).foo(anyString())
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top