我想创建一个单元测试来验证 API 是否成功获取了 Repos 列表。我希望测试实际上建立网络连接而不是使用模拟服务器。而且,例如使用 RoboElectric 会很好,这样测试就可以在 JVM 上运行。
这是为了从 MVP 架构测试模型。
我正在使用 Mosby 的示例项目,它使用 Dagger 2 和 Retrofit 1.9。
public interface GithubApi
{
@GET("/repositories")
@Headers("Cache-Control: no-cache")
public void getRepos(Callback<List<Repo>> callback);
}
这是模块:
@Module()
public class SampleModule
{
@Provides @Singleton public GithubApi providesGithubApi()
{
OkHttpClient client = new OkHttpClient();
client.setCache(new Cache(context.getCacheDir(), 10 * 1024 * 1024));
RestAdapter restAdapter = new RestAdapter.Builder()
.setClient(new OkClient(client))
.setEndpoint("https://api.github.com")
.build();
return restAdapter.create(GithubApi.class);
}
}