Невозможно получить доступ к базе данных комнаты из тестовых случаев - Android - PullRequest
1 голос
/ 18 июня 2019

Я получаю ошибку при выполнении операции с базой данных. В моем проекте, когда я пытаюсь получить доступ к deleteAll() из класса Дао, т.е.

enter image description here

См. Код ниже:

@Dao
public interface AuthenticationDao {

@Insert
void insert(Authentication authentication);

@Query("delete from authentication")
void deleteAll();

@Query("select * from authentication")
Authentication getAuthInformation();
}

AppDatabase.java

 @Database(entities = {Authentication.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {

private static AppDatabase INSTANCE;

public static AppDatabase getAppDatabase(Context context) {
    if (INSTANCE == null) {
        INSTANCE =
                Room.databaseBuilder(context,
                        AppDatabase.class,
                        "my-database")
                        .allowMainThreadQueries()
                        .build();
    }
    return INSTANCE;
}

public abstract AuthenticationDao authenticationDao();

}

В чем проблема? Это потому, что я использую AppDatabase dbInstance = Room.databaseBuilder(context,AppDatabase.class,"my-database") .allowMainThreadQueries() .build(); для инициализации объекта базы данных?

Если я использую AppDatabase dbInstance = Room.inMemoryDatabaseBuilder(InstrumentationRegistry.getContext(), AppDatabase.class).allowMainThreadQueries().build();, тогда он работает нормально.

В чем может быть причина?

...