如何使用Mockito在Robospice和Retrofit上测试API?

时间:2014-03-11 14:22:30

标签: android mockito android-testing robospice retrofit

我一直关注此blog entry,其中展示了如何使用Mockito和Retrofit模拟请求。问题是我在Robospice上使用它们,它并不需要在服务接口上提供Callback作为参数(因为它将是synchronous call):

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

所以我不能以这种方式拦截我测试的回调:

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

有没有办法实现这个目标?谢谢!

1 个答案:

答案 0 :(得分:5)

模拟服务接口,然后编写脚本以返回所需的值。

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

您稍后可以验证是否已调用此方法。

verify(service).foo(anyString())