Android 单元测试:在测试活动之前清除首选项

2024-03-12

我想确保在我之前清除首选项Activity在我的单元测试中开始。

问题是要清除首选项,您需要调用getActivity()。之后,Activity启动,它会读取首选项。

@Override
protected void setUp() throws Exception {
    super.setUp();
    mActivity = this.getActivity();
    SharedPreferences prefs = 
       PreferenceManager.getDefaultSharedPreferences(mActivity);
    prefs.edit().clear().commit();
}

When getActivity()被称为,Activity创建后,它会在下一行清除首选项之前读取首选项的值。

有没有办法获得Context对象而不启动Activity?

我是 Android 单元测试的新手,所以也许我错过了一些基本的东西。


在这里找到了答案,在调用 getActivity() 之前从 Setup() 中的 TestSuite 访问应用程序上下文 https://stackoverflow.com/questions/5544205/accessing-application-context-from-testsuite-in-setup-before-calling-getactivi

Call,

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

Android 单元测试:在测试活动之前清除首选项 的相关文章

  • 升级到最新支持库后Android JACK编译器错误

    Android Studio 2 2 3 Windows 10 64位 构建工具版本 25 Android Gradle插件版本2 2 3 升级到最新的支持库 从 23 4 0 到 25 1 0 并更改编译版本 从 23 到 25 后 我收
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • 使用同一个侦听器的多个活动

    我有 4 个活动 它们都包含一个 xml 页脚 其中包含 4 个按钮 每个活动一个 我现在想为这些按钮设置 onclicklistener 它是页脚中的自制菜单 问题是 如何使用侦听器以便重用代码 我有两个想法 创建一个实现 onclick
  • 无法在 Android Studio 中导出签名的 APK

    当我使用keytool list keystore path to keyfile jks并提供我的密码 我可以看到那里的条目 但是当我在尝试使用相同的密码生成签名的 APK 时使用相同的密码时 我收到错误 无法加载密钥库 密钥库被篡改 或
  • CoordinatorLayout 和 ImageView 在滚动时调整宽度的问题

    我正在尝试放置一个ImageView in a CollapsingToolbarLayout它在加载时占据整个屏幕 并且当您滚动内容时 16x9 分辨率图像宽度会调整大小 直到图像占据屏幕的整个宽度 那时 我希望图像具有视差app lay
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • 如何绘制部分位图圆弧?类似于圆形进度轮,但具有显示得越来越多的位图。

    我正在寻找的是一种以顺时针圆形方式显示图像的视图 当进度为 25 时 应显示前 90 度 当进度为 100 时 应绘制完整的 360 度 它与使用 canvas drawArc 非常接近 但此方法仅适用于 Paint 对象 不适用于位图 其
  • Android 和 Google 地图内部片段以及其他控件和 viewpager

    我是android编程新手 我有一个带有 3 个页面 片段 的小应用程序 使用 pageradapter 和 viewpager 在它们之间滑动 其中一个页面包含复选框 和其他控件 和地图 我的问题是程序在启动时崩溃 Fragment co
  • 自动测试无限循环

    我在 Rails 项目中使用自动测试时遇到了一个问题 即当测试失败时 即 我修改了测试文件并且自动测试自动运行测试 自动测试会不断尝试运行测试 当然每次都会失败 因为文件尚未被修改 而不是等到文件再次保存 当咆哮通知打开时 当我试图修复代码
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • Android Google Map V2:如何在单击另一个标记时更改先前单击的标记的图标

    更新 我通过添加 previousMarker 对象解决了性能问题 因此 只有先前单击的标记将被删除并替换为默认图标 但是 当我单击标记时 信息窗口仍然不显示 我有一个地图视图并在上面设置了一些标记 我想要的是 当我单击一个标记时 它将其图
  • 以 HTML 格式发送电子邮件

    我想发送 HTML 格式的电子邮件 如下图所示 我怎样才能做到这一点 请帮我 提前致谢 String body new String table tr td br header td tr br br Get b Best Score b
  • 如何使用 jest 通过 Promise.all 设置多次提取测试

    我在测试中使用 jest 我正在使用 React 和 Redux 并且执行以下操作 function getData id notify return dispatch gt dispatch anotherFunction Promise
  • 通过 Gradle 和 Android Studio 构建和运行应用程序比通过 Eclipse 慢

    我有一个多项目 10 个模块 每次构建大约需要 20 30 秒 当我在 Android Studio 中按 运行 时 每次都必须等待才能重建应用程序 这非常慢 是否可以在 Android Studio 中自动化构建过程 或者您对如何加快此过
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • 动态更改按钮上的图像视图

    在我的应用程序中 我有按钮和ImageView 当我按下按钮时我想改变ImageView 我的可绘制文件夹中有 5 张图像 按下按钮时 ImageView 根据按钮单击一张一张地更改图像 我想要它的解决方案 感谢任何可以提供帮助的人 维护一
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 在VIM中,是否可以在替代子句中使用选定的文本而无需重新输入?

    假设我在视觉模式下选择了一个单词 我想使用 s 对该单词以及文件中该单词的所有其他实例执行替换 有没有办法使用突出显示的文本s
  • Windows 中是否有类似 GREP 的模式匹配实用程序?

    有没有类似的实用工具grep可从 Windows 命令提示符获取 或者是否有第三方工具 有一个命令行工具叫做FINDSTR随所有 Windows NT 级操作系统一起提供 类型FINDSTR 进入命令提示符窗口以获取更多信息 它并不支持所有
  • 如何使用 geom_boxplot(stat = "identity") 模拟带有异常值的 geom_boxplot()

    我想预先计算数据的变量摘要 使用plyr并通过一个quantile函数 然后用geom boxplot stat identity 这非常有效 除了它 a 不将异常值绘制为点以及 b 将 胡须 扩展到所绘制数据的最大值和最小值 Exampl
  • Git 分支命名规则[重复]

    这个问题在这里已经有答案了 当我在 Git 中命名分支时 我总是倾向于以字母开头 mybranch89例如 Git 分支的命名有什么规则吗 例如 我应该始终以字母开头 还是只能使用数字分支名称 例如876 规则是相当复杂 http git
  • 在 TextView 中显示图像

    我希望在 TextView 中显示图像 我的图像保存在 res raw 目录中 我尝试使用 HTML ImageGetter 但找不到相同的完整参考 import android app Activity import android gr
  • 追踪事务为何升级为 DTC

    有什么方法可以准确确定 System Transaction TrasactionScope 升级为 DTC 的原因吗 我们的一个组件遇到了麻烦 该组件似乎升级了交易 而所有其他组件 看起来看似相似 却没有升级 是否提供了有关升级原因以及如
  • 如何在Python中查找字符串中的一个数字?

    我有一个名为 FILE 1 txt 或 FILE 340 txt 的文件 我希望能够从文件名中获取数字 我发现我可以使用 numbers re findall r d s filename 获取包含数字的列表 并使用numbers 0 将数
  • 什么时候应该使用 XS?

    我正在写一篇关于 XS 的演讲 我需要知道社区何时认为适合采用 XS 我可以想到至少三个使用 XS 的理由 您有一个想要在 Perl 5 中访问的 C 库 您有一段代码 它确实会减慢您的程序速度 如果用 C 编写 速度会更快 您需要访问仅在
  • 想在Mysql中为两个不同的数据库编写触发器

    有没有办法在Mysql中的两个不同的数据库上创建触发器 我的要求是这样的 database test1 gt table tmp1 database test2 gt table tmp2 现在我必须在 test1 上使用触发器插入操作发生
  • 错误:没有匹配的函数来调用“Point::Point()”

    因此 我创建了 Point 类 并希望将其用作 Circle 类中构造函数的参数 但出现错误 没有显示类 Point 的默认构造函数 我不知道如何修复它 代码如下所示 class Point private int x y public P
  • 使用android的sip进行Android音频通话

    我为客户开发了一个使用 sip 进行互联网呼叫的应用程序 为此 他向我提供了两个有效的 sip 用户 ID 和密码 我正在使用 SIP API 进行 SIP 实施 客户说呼叫无法进行 当他使用自己的帐户登录时 他没有收到任何有关未接来电的通
  • 动态渲染vue模板

    我有 vue 模板数据作为字符串 例如 String s div myData div 现在我想在我已经定义的 vue 组件中进行渲染
  • Laravel 如何测试控制器中的复选框是否被选中

    我试图获取复选框是否已选中 在我看来
  • ASP.NET MVC 项目中的 Web 表单?

    我需要向 ASP NET MVC 项目添加一个 管理 区域 并且我需要它来使用 ASP NET Web 窗体 而不是 MVC ASP NET Web 窗体可以在 ASP NET MVC 应用程序中使用吗 我在 MVC 项目中有类似的东西 因
  • vtable存放在内存的什么位置?

    vtable存放在内存的什么位置 取决于编译器 在 VC 中 vtable 指针存储在对象分配的开始处 位于任何成员数据之前 前提是您的类至少有一个虚拟成员函数 如果您的类从具有虚函数表的其他类进行多重继承 则还可能有多个虚函数表指针 vt
  • 如何使用 JavaScript 从 Web 服务返回的二进制字符串构建 PDF 文件

    我正在尝试从二进制流中构建一个 PDF 文件 该文件是我收到的 Ajax 请求的响应 Via XmlHttpRequest我收到以下数据 PDF 1 4 hole data representing the file EOF 到目前为止我尝
  • jqgrid - 调整大小和覆盖

    HTML
  • Canvas 对象未显示,但位置在 Java Applet 中正确更新

    我的基本弹跳球小程序应该有一个球根据中的值移动loc变量 但什么也没有显示 打印输出loc表明移动它和弹离边界背后的数字 数学确实按其应有的方式工作 但没有任何显示 查看在线示例 我不明白为什么我的绘图 绘画代码没有按预期工作 这就是我所拥
  • 为轮播创建循环时出现问题 - 回到第一个元素

    我在轮播中创建循环时遇到问题 因此在单击事件 rightButton 上到达最后一张卡后它将返回到第一张卡 到目前为止 轮播在到达最后一张卡时停止 const carousel document querySelector data tar
  • Android 单元测试:在测试活动之前清除首选项

    我想确保在我之前清除首选项Activity在我的单元测试中开始 问题是要清除首选项 您需要调用getActivity 之后 Activity启动 它会读取首选项 Override protected void setUp throws Ex