Android Test Unitaire : comment effacer SharedPreferences

Je suis en train d'effacer tous les SharedPreferences ajouté lors de mes tests. J'ai déjà lu quelques posts et la documentation officielle (SharedPreferences.De l'éditeur.clear()). Mais quand je lance mon application après les tests unitaires ont été exécutés, j'ai toujours trouvé des valeurs de test.

Donc, dans le AndroidTestCase.tearDown(), je fais ceci :

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();
    }

}

Toutes les autres questions que j'ai trouvé sur DONC, a propos de l'ajout d' commit() après la clear(), je l'ai déjà fait ici.

EDIT 1 Ajoutant setUp() méthode

EDIT 2 en Offrant une classe

êtes-vous en utilisant le même contexte pour wrinte et d'effacer les SharedPreferences?
le Contexte est celui fourni par le AndroidTestCase classe. Aussi, lorsque je lance mon application, je l'appelle encore getContext(). Je peux vous fournir le setUp() méthode de mes tests unitaires si vous le souhaitez.
probablement oui, c'est mieux. Savez-vous que lorsque vous exécutez des tests de différents apk est mise à jour sur le périphérique de test?
la méthode setUp() est ajouté. Et non, je n'étais pas au courant de ce fait. Donc, il est vraiment étrange d'avoir encore à des valeurs de test si c'est pas le même, APK n'est-ce pas ?
Quelle classe êtes-vous étendre?

OriginalL'auteur mithrop | 2013-07-22