无法通过测试用例访问会议室数据库-Android

时间:2019-06-18 14:34:41

标签: unit-testing android-room android-testing

执行数据库操作时出现错误。 在我的项目中,当我尝试从Dao类访问deleteAll()的{​​{1}}中的AuthenticationDao时,我遇到了错误

enter image description here

请参阅以下代码:

Room Database

AppDatabase.java

@Dao
public interface AuthenticationDao {

@Insert
void insert(Authentication authentication);

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

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

出了什么问题? 是因为我使用 @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();,则可以正常工作。

可能是什么原因?

0 个答案:

没有答案