房间未在 UI-测试中创建数据库
Room not creating database in UI-Tests
我在我的项目中使用 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 进行调试时,我也找不到 db 文件。在 Android 9 之前的设备上,该文件在 Stetho 中可见。有没有人面临同样的问题?目前我们正在为 Room 使用 AndroidX 之前的库:
implementation "android.arch.persistence.room:runtime:${androidArchVersion}"
kapt "android.arch.persistence.room:compiler:${androidArchVersion}"
或者是否有必要对 Android9 的设备使用 AndroidX 库?
感谢任何帮助!
事实证明,迁移后数据库缺少 close()。在生产应用程序中,一切都很好,但在 Tests + on Emulator 中,出现了所描述的错误。也许对其他人有帮助!
我在我的项目中使用 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 进行调试时,我也找不到 db 文件。在 Android 9 之前的设备上,该文件在 Stetho 中可见。有没有人面临同样的问题?目前我们正在为 Room 使用 AndroidX 之前的库:
implementation "android.arch.persistence.room:runtime:${androidArchVersion}"
kapt "android.arch.persistence.room:compiler:${androidArchVersion}"
或者是否有必要对 Android9 的设备使用 AndroidX 库?
感谢任何帮助!
事实证明,迁移后数据库缺少 close()。在生产应用程序中,一切都很好,但在 Tests + on Emulator 中,出现了所描述的错误。也许对其他人有帮助!