android–MockContentResolver在ServiceTestCase中的空指针

android–MockContentResolver在ServiceTestCase中的空指针,第1张

概述我正在尝试以TDD-ish方式创建服务,为此我创建了以下测试.该服务基本上轮询Web服务并将新信息放入内容提供者.由于它是一项服务,我使用内容提供程序将它存储信息作为测试的oracle.我想我想要做的是创建一个MockContentResolver以实现这一点,但在ProviderTestCase2类之外缺少它的示

我正在尝试以TDD-ish方式创建服务,为此我创建了以下测试.该服务基本上轮询Web服务并将新信息放入内容提供者.由于它是一项服务,我使用内容提供程序将它存储信息作为测试的oracle.

我想我想要做的是创建一个MockContentResolver以实现这一点,但在ProvIDerTestCase2类之外缺少它的示例.当我运行这个脚本但它在addProvIDer行上的null指针.

有没有人有一个创建/访问模拟内容解析器的例子?在ServiceTestCase中?

public class ondemandPollingServiceTests extends ServiceTestCase<ondemandJobFetchingService> {  private MockContentResolver mContentResolver;  public ondemandPollingServiceTests() {        super(ondemandJobFetchingService.class);    }  protected voID setUp() throws Exception {    super.setUp();    mContext = getContext();    ContentProvIDer cp = new ondemandJobInfoProvIDer();    mContentResolver.addProvIDer(ondemandJobInfoProvIDer.AUTHORITY, cp);  }  protected voID tearDown() throws Exception {    super.tearDown();  }  public voID testJobInsertion() {    Uri url = Jobs.JobsColumns.CONTENT_URI;    Cursor cursor;    cursor = mContentResolver.query(url, null, null, null, null);    int before = cursor.getCount();    cursor.close();    Intent startIntent = new Intent();    startIntent.setClass(mContext, ondemandJobFetchingService.class);    startService(startIntent);    cursor = mContentResolver.query(url, null, null, null, null);    int after = cursor.getCount();    cursor.close();    assertTrue(before != after);  }}

解决方法:

对我来说,似乎你从来没有实例化你的mContentResolver(你没有像mContentResolver = new MockContentResolver();这样的行.

总结

以上是内存溢出为你收集整理的android – MockContentResolver在ServiceTestCase中的空指针全部内容,希望文章能够帮你解决android – MockContentResolver在ServiceTestCase中的空指针所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1116855.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存