房间未在 UI 测试中创建数据库



我在我的项目中使用了一个房间数据库,它可以在生产中工作,包括UI测试(使用Espresso),直到Android 8。在 Android 9 上,目前我的 UI 测试失败,因为未创建数据库。我在日志猫中收到以下错误消息

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 中可见。有人面临同样的问题吗?目前,我们正在为房间使用pre AndroidX库:

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

或者是否有必要使用适用于装有Android 9的设备的AndroidX库?

任何帮助不胜感激!

事实证明,迁移后数据库缺少 close()。在生产应用程序中,一切都很好,但是在模拟器上的测试+中出现了所描述的错误。也许它对其他人有帮助!

最新更新