我想确保在我的单元测试中启动我的 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/