ServiceTestCase 中的 MockContentResolver 空指针

2023-12-24

我正在尝试以 TDD 式的方式创建一个服务,为此我创建了以下测试。该服务主要轮询 Web 服务并将新信息放入内容提供程序中。由于它是一项服务,因此我使用内容提供程序,它将将信息存储到其中作为测试的预言机。

我认为我想要做的是创建一个 MockContentResolver 来实现此目的,但在 ProviderTestCase2 类之外缺乏它的示例。然而,当我运行此脚本时,它在 addProvider 行上为空指针。

有人有创建/访问模拟内容解析器的示例吗?在服务测试用例中?

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();.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServiceTestCase 中的 MockContentResolver 空指针 的相关文章

  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • Android Widget ID 是否持久

    在从桌面删除该 Widget 实例之前 您从操作系统收到的用户桌面上特定 Widget 实例的 Widget ID 是否一致 我找不到任何明确说明这一点的文档 但我假设这是因为文档说您可以使用小部件 id 来存储任何实例配置信息 我想将一些
  • 在 Android 中使用 awt

    我有一个绘制图表的 Java Swing 应用程序 它使用 Graphics2D 调用和 awt 对象 例如 Rectangle 等 在某些时候我可能想将其移植到 Android 上 我知道我无法在 Android 上使用 Graphics
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • ndk-build error.opencv2/core/core.hpp:没有这样的文件或目录

    我在 Android 中使用 OpenCV Nonfree 模块时遇到问题 我读了这个教程https sites google com site wghsite technical notes sift surf opencv androi
  • 清晰的图标 清晰的 Android 应用程序

    你好 下午好 关于如何提高图标的 png 质量 有什么想法吗 我使用了 Android 开发者页面上的套件 但我无法获得清晰的图像 我的意思是非常清晰 我是否需要以不同的方式加载此图标 而不仅仅是拖入我的布局 谢谢 我使用这个布局
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 使用 RoboSpice 有没有办法从异常中获取 HTTP 错误代码?

    我正在编写一个使用 RoboSpice 的应用程序 在请求侦听器 onRequestFailure SpiceException arg0 中 有没有办法确定该错误是由于发生 401 HTTP 错误而导致的 我有一个后端服务 当令牌过期时
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • Fresco:滚动 RecyclerView 后图像消失

    我有一个 Horizo ntal RecyclerView 每个项目都有一个使用 Facebook Fresco 图像库加载到其中的图像 然而 虽然正确的图像最初是在屏幕上滚动一点时加载的 但当 RecyclerView 进一步滚动时 它就
  • foo.setVisibility(View.GONE) 和parent.removeView(foo) 之间的区别

    如果 foo 是一个视图 那么有什么区别foo setVisibility View GONE and fooParent removeView foo 我对两个语句之前和之后视图的内存消耗特别感兴趣 可见性设置为 GONE 的视图是否会消
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • Grade Plugin 3-alpha1 输出文件导致错误

    我正在尝试将项目更新到 Android Studio 3 build gradle 文件中不再接受以下代码片段 applicationVariants all variant gt variant outputs each out gt d
  • SimpleDateFormat 无法解析的日期 如果语言环境为 ES,则会出现错误。推特“创建时间”

    我正在尝试将 Twitter created at 转换为阿根廷日期时间 如果我这样做 final String TWITTER EEE MMM dd HH mm ss SimpleDateFormat sf new SimpleDateF
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • android.view.WindowLeaked - 使用对话框和新意图时

    我已经尝试了 stackoverflow 上提供的所有可能的解决方案 但我仍然在 logcat 中遇到此错误 活动 com xyz MainActivity 泄露了最初在此处添加的窗口 com android internal policy
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 如何在TEdit控件中设置文本对齐方式

    我正在使用 Turbo C 资源管理器版 免费版 有人知道如何设置 TEdit 控件的 textAlignment 吗 您可能会发现这个问题的解决方案很有趣 它通过启用使编辑框右对齐ES RIGHT该控件的 Windows 风格 但它在创建
  • Michael Hartls Rails 3 教程中的请求规范标题测试失败

    我正在遵循 Michael Hartl 的 Ruby On Rails 3 教程 并使用 Capybara 作为集成规范 到目前为止的集成规范如下 require spec helper describe StaticPages do de
  • Play Framework 2.3 - CORS 标头

    UPDATE新的 Play 2 5 提供了新的CORS过滤器 https www playframework com documentation 2 5 x CorsFilter 由于新的 2 3 Java 版本完成了 Response 类
  • 绑定值源已删除

    由于某种原因 在使用状态 带有数组 并与其值之一绑定时出现索引越界错误 一般来说 向数组添加更多值是没有问题的 但是 当您尝试删除一个值时 您会收到索引越界错误 这是我在自己的项目中遇到的问题的简化版本 在 SwiftUI 中尝试以下示例
  • 开发基于 Java EE 的 Web 应用程序时如何提高生产力

    我想知道与其他技术堆栈相比 您如何解决基于 Java EE 的 Web 应用程序开发看似低生产率的问题 Seaside http www seaside st 红宝石 on Rails http rubyonrails org etc 限制
  • 在带有模拟器的 Xamarin.iOS 中使用 Azure AD B2C - 钥匙串问题(团队 ID 为空)

    我正在开发 Xamarin Forms 应用程序 并设置 Azure AD B2C 进行身份验证 我正在关注官方教程 https learn microsoft com en us xamarin xamarin forms data cl
  • 如何在haproxy中启用keep-alive?

    这是我的 haproxy conf haproxy 1 7 9 global log 127 0 0 1 local0 defaults retries 3 option redispatch timeout client 30s time
  • 使用 CASE 语句根据在 PARTITION 中查找特定条目来更改新 BigQuery 列的值

    我尝试编写一些 case 语句 如果分区内满足特定条件 这些语句可能会更改调用中所有条目的值 这是具体的上下文 假设我有一个使用以下 SQL 查询创建的特定数据集 SELECT date CONCAT fullVisitorId STRIN
  • 如何对包含 erf 函数的 SymPy 表达式进行羔羊化处理以与 NumPy 一起使用

    我想用 SymPy 对包含 erf 函数的符号表达式进行羔羊化 对于标量参数可以按如下方式完成此操作 log normal 0 5 0 5 sym erf sym log x mu sym sqrt 2 sigma 2 F sym lamb
  • Python Exchangelib:检查项目是否是消息

    使用 Exchangelib 检索项目时出现错误 有没有什么方法可以检测该项目是否是电子邮件 如果不是 则忽略它 下面的代码引发AttributeError MeetingRequest object has no attribute fl
  • 尝试在 Web 视图中显示 url

    我正在尝试使用loopj包 我正在尝试向网站发出 HTTP 请求并在 web 视图中显示该网站 我成功返回结果 但是 Web 视图没有按需要显示页面 而是 chrome 打开并显示页面 我是否遗漏了某些内容 或者有什么方法可以覆盖这种不需要
  • Chrome 命令行开关/参数是什么?

    在哪里可以找到用于 Chrome 和 chromedriver 的命令行开关列表 对于 Chromium 请在此处找到列表 https chromium googlesource com chromium src master chrome
  • 如何使用 purrr 中的映射和 dplyr 中的 mutate 来生成 glm 汇总表?

    我正在使用 purrr 和 broom 包来生成一系列 glm 并构建一个包含模型信息的表 以便我可以对它们进行比较 当我从 purrr 调用地图函数时 代码失败 我认为问题与 mutate 和 map 的组合有关 我想生成一个表 其中每个
  • 如何更改asp.net web api中的默认路由

    我正在研究 asp net web api 我正在尝试在 global asax 文件中设置项目的默认路由 例如 localhost 45678 api Products 但我没有找到任何类似于 asp net mvc 路由模型的格式 ur
  • 秒到年

    基本上 我正在尝试重新创建 PHP 日期的年份功能 使用自 1970 年 1 月 1 日以来的秒数 我试图在不使用内置函数的情况下获取年份 我有一个想法 但由于闰年而没有实现 谁能给我一个可行的公式 从 1970 年开始计算秒数并计算出一年
  • 为什么番石榴在我的 build.sbt 中没有正确着色?

    tl dr Here https github com erip shading repro lagom hdfs是包含问题的存储库 Cassandra 和 HDFS 都在内部使用 guava 但由于各种原因 它们都没有屏蔽依赖关系 因为番
  • Cocoa - 从 NSOperation 返回信息

    我有一个 iPhone 应用程序 它使用 Web 服务从服务器获取数据 我将对 Web 服务的每个调用都放在 NSOperation 子类中 以便它可以线程化 我的问题是 从已完成的 NSOperation 子类传回信息的推荐方法是什么 我
  • 同步块内的产量?调用yield()后锁释放?

    我正在创建一个多线程并调用yield 在里面 java lang Thread yield 方法使当前正在执行的线程对象暂时暂停并允许其他线程执行 其他线程是否有可能执行也想进入同步块的情况 synchronized this lock c
  • 是否有 std::noncopyable (或等效的)?

    有一个提升 不可复制 http www boost org doc libs master libs core doc html core noncopyable html我的图书馆里有我自己的不可复制的课程 最新的 C 标准中是否有 st
  • ServiceTestCase 中的 MockContentResolver 空指针

    我正在尝试以 TDD 式的方式创建一个服务 为此我创建了以下测试 该服务主要轮询 Web 服务并将新信息放入内容提供程序中 由于它是一项服务 因此我使用内容提供程序 它将将信息存储到其中作为测试的预言机 我认为我想要做的是创建一个 Mock