我正在尝试为执行某些API调用的REST客户端创建单元测试.客户端在实时应用程序中工作正常,但我不能让它在测试用例中运行.
显然,可以在这里使用LoaderTestCase.getLoaderResultSynchronously()(至少根据Android参考,但它不会接受我的加载器.代码:
public void testGetEventInfo() {
// Init some vars
...
// Create & execute loader
RESTLoader loader = new RESTLoader(getContext(),
RESTLoader.HTTPVerb.GET, action, params, LOADER_GET_NEWS);
getLoaderResultSynchronously(loader);
}
Run Code Online (Sandbox Code Playgroud)
这会产生错误,类型LoaderTestCase中的getLoaderResultSynchronously(Loader)不适用于参数(RESTLoader).
RESTLoader扩展了AsyncLoader.请注意,我正在使用supportlibrary,也许那里的Loader不兼容?文档没有提供相关信息.
我试图通过几种方式解决这个问题,但似乎没有任何方法可行:
有谁知道为什么getLoaderResultSynchronously不接受加载器?或者另一种测试Loader的干净方法,包括测试返回数据的方法?我可以在单独的情况下测试处理返回数据,但我还想测试实际数据.
此致