В настоящее время я пытаюсь запустить инструментальный тест Realm со слушателем.Я довольно новичок в Android и прочитал минимальную документацию Realm и ТАК вопросы, но на самом деле не могу понять это.
У меня есть тестовый класс Realm, который я подкласс для будущего использования
open class RealmInstrumentedUnitTest {
lateinit var mockRealm: Realm
@Before
fun setup() {
Looper.prepare()
val testConfig = RealmConfiguration.Builder().inMemory().name("test-realm").build()
Realm.setDefaultConfiguration(testConfig)
this.mockRealm = Realm.getDefaultInstance()
}
@After
@Throws(Exception::class)
public fun tearDown() {
Looper.loop()
this.mockRealm.close()
}
}
Затем я делаю подкласс предыдущего и реализую тест:
@Test
fun testOverlappingSessionDeletion() {
val realm = this.mockRealm
this.sessions = realm.where(Session::class.java).findAll() // monitor session deletions
this.sessions?.addChangeListener { t, changeSet ->
val deletedSessions = realm.where(Session::class.java).`in`("id", changeSet.deletions.toTypedArray()).findAll()
deletedSessions.forEach { it.cleanup() }
}
- Я не могу понять, как настроить петлитель для его запуска
- В этой конфигурации я получаю«Не удалось выполнить тест до завершения. Причина:« Сбой выполнения инструментария из-за «Процесс сбой». »
- Если я поставлю
Looper.loop()
раньше, я получу бесконечный цикл
Как мне настроить это для правильной работы?
Большое спасибо