我想在 ServiceTestCase 中获得共享首选项:
SharedPreferences preferences = context.getSharedPreferences("preferences_name", Context.MODE_PRIVATE);
并做这样的事情:
int value = preferences.getInt("key", 0);
preferences.edit().putInt("key", ++value).commit();
int newValue = preferences.getInt("key", 0);
assertTrue(value != newValue);
但是,这不起作用。测试根本失败。
我尝试过不同的上下文:
getContext();
和
getSystemContext();
并且
getContext().createPackageContext(this.getClass().getPackage().getName(), Context.CONTEXT_IGNORE_SECURITY);
最后
getSystemContext().createPackageContext(this.getClass().getPackage().getName(), Context.CONTEXT_IGNORE_SECURITY);
难道我做错了什么?
或者可能无法在 ServiceTestCase 中获取自定义共享首选项文件?
在活动测试课上实现这一点怎么样?