Комната, не создающая базу данных в UI-Tests - PullRequest
0 голосов
/ 14 января 2019

Я использую базу данных Room внутри своего проекта, и она работает в производстве, включая UI-тесты (с Espresso) до Android 8. В настоящее время на Android 9 мои UI-тесты не выполняются, поскольку база данных не создана. Я получаю следующее сообщение об ошибке внутри моей logcat

android.database.sqlite.SQLiteException: no such table: table (code 1 SQLITE_ERROR): , while compiling: SELECT * FROM table WHERE type = ?

Это происходит только на устройствах Android 9. Во время отладки со Stetho я не могу найти файл БД, а также. На устройствах до Android 9 файл виден в Stetho. Кто-нибудь сталкивается с такой же проблемой? В настоящее время мы используем библиотеки AndroidX для Room:

implementation "android.arch.persistence.room:runtime:${androidArchVersion}"
kapt "android.arch.persistence.room:compiler:${androidArchVersion}"

Или необходимо использовать библиотеки AndroidX для устройств с Android 9?

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 24 января 2019

Оказалось, что close () отсутствовал для базы данных после миграции. В рабочем приложении все было хорошо, но внутри Tests + on Emulator появилась описанная ошибка. Может быть, это полезно для кого-то еще!

...