Я пытаюсь очистить все 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()
, который я уже сделал здесь.
EDIT 1 Добавление метода setUp()
EDIT 2 Предоставление расширенного класса