SQLite
 sql >> Base de données >  >> RDS >> SQLite

L'accès à la base de données de Robolectric génère une erreur

Réinitialisez toutes les instances singleton entre chaque test ou vous obtiendrez des effets secondaires comme le vôtre.

@After
public void finishComponentTesting() {
    resetSingleton(YourSQLiteOpenHelper.class, "sInstance");
}

private void resetSingleton(Class clazz, String fieldName) {
    Field instance;
    try {
        instance = clazz.getDeclaredField(fieldName);
        instance.setAccessible(true);
        instance.set(null, null);
    } catch (Exception e) {
        throw new RuntimeException();
    }
}