android单元测试:在测试活动之前清除prefs

时间:2012-03-01 20:31:17

标签: 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的值。

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

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

感谢。

1 个答案:

答案 0 :(得分:7)

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

呼叫,

this.getInstrumentation().getTargetContext()