Avant chaque test d'expresso, j'ai une annotation @Before
où j'initialise mon RealmManager.realm
.Accès au domaine depuis un fil incorrect dans Espresso
extrait de code de mon object Realm
:
init {
Realm.init(SaiApplication.context)
val builder = RealmConfiguration.Builder().schemaVersion(SCHEMA_VERSION)
builder.migration(runMigrations())
if (!BuildConfig.DEBUG) builder.encryptionKey(getOrCreateDatabaseKey())
if (SaiApplication.inMemoryDatabase) builder.inMemory()
Realm.setDefaultConfiguration(builder.build())
try {
errorOccurred = false
realm = Realm.getDefaultInstance()
} catch (e: Exception) {
errorOccurred = true
realm = Realm.getInstance(RealmConfiguration.Builder()
.schemaVersion(SCHEMA_VERSION).name(errorDbName).build())
e.log()
deleteRealmFile(realm.configuration.realmDirectory)
}
}
Mais quand je lance mes tests, je reçois l'erreur suivante:
Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created
Alors, comment je peux correctement initialiser mon royaume dans mes tests?
Un des solutions que j'ai trouvé intéressant, crée un faux royaume d'init.
Vous devez indiquer la ligne où vous obtenez cette exception. – EpicPandaForce