SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Der Zugriff von Robolectric auf die Datenbank löst einen Fehler aus

Setzen Sie alle Singleton-Instanzen zwischen jedem Test zurück, oder Sie erhalten Nebenwirkungen wie Ihre.

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