我想确保在我的单元测试中启动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手机测试的新手,所以也许我错过了一些基本的东西。
感谢。
答案 0 :(得分:7)
在这里找到答案, Accessing application context from TestSuite in Setup() before calling getActivity()
呼叫,
this.getInstrumentation().getTargetContext()