安卓单元测试 : clearing prefs before testing activity

标签 android testing junit

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

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

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

getActivity() 被调用时,Activity 被创建,它在接下来的行清除 pref 之前读取 pref 的值。

有没有办法在不启动 Activity 的情况下获取 Context 对象?

我是 Android 单元测试的新手,所以我可能遗漏了一些基本的东西。

最佳答案

在这里找到了答案, Accessing application context from TestSuite in Setup() before calling getActivity()

打电话,

this.getInstrumentation().getTargetContext()

关于安卓单元测试 : clearing prefs before testing activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523564/

相关文章:

java - 当任何 Any 参数用于方法时,Mockito stub 返回 null

java - 使用 Mockito NotaMockException 进行 Junit 测试

java - 在 Activity 外调用 chromecast 媒体路由器

java - 对 HashTable 的assertNull 行为感到困惑

java - 未找到密码 View 的类 Androidx.legacy.widget.space

testing - TFS 自动化测试使用自定义测试框架,SoapUI

testing - 在 kubernetes 中执行端到端测试时出错

ruby-on-rails - assert_not_in_array

android - 如何以编程方式断开android 4.1.2 nexus中的调用

android - iOS Mobile Safari背景图片位置与CSS