我正在尝试清除测试期间添加的所有 SharedPreferences。我已经阅读了一些帖子和官方文档(SharedPreferences.Editor.clear())。但是当我在单元测试运行后启动我的应用程序时,我仍然找到了测试值。
所以,在AndroidTestCase.tearDown()中,我做了这个:
public class PrivateStorageUtilsTest extends AndroidTestCase {
private static final String KEY_SP_PACKAGE = "PrivateStorageUtilsTest";
protected void setUp() throws Exception {
super.setUp();
// Clear everything in the SharedPreferences
SharedPreferences sharedPreferences = getContext()
.getSharedPreferences(KEY_SP_PACKAGE, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.commit();
}
protected void tearDown() throws Exception {
// Clear everything in the SharedPreferences
SharedPreferences sharedPreferences = getContext().
getSharedPreferences(KEY_SP_PACKAGE, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.commit();
}
}
我在 SO 上发现的所有其他问题都是关于commit()
在 之后添加的clear()
,我已经在这里完成了。
编辑 1添加setUp()
方法
编辑 2提供扩展类