I am trying to write testcase for room database in kotlin for Android. With below implementation, error occurs
DummyDatabase.kt
internal abstract class DummyDatabase : RoomDatabase() {
companion object {
@Volatile
private var INSTANCE: DummyDatabase ? = null
fun getInstance(context: Context): DummyDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context,
DummyDatabase::class.java,
"db_name.db"
).build()
INSTANCE = instance
instance
}
}
}
}
Error:
Method getWritableDatabase in android.database.sqlite.SQLiteOpenHelper not mocked. See http://g.co/androidstudio/not-mocked for details.
java.lang.RuntimeException: Method getWritableDatabase in android.database.sqlite.SQLiteOpenHelper not mocked. See http://g.co/androidstudio/not-mocked for details.
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java)
public void update(final ComplicationRoutine complicationRoutine) {
__db.assertNotSuspendingTransaction();
How to create mock for SQLiteOpenHelper in Room Database?