テスト中に追加されたすべての 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拡張クラスの提供