首页 > 解决方案 > Android Room + RxJava - 如何从测试中进行多次插入

问题描述

我有一个用于测试的内存 Room 数据库。

我想多次调用插入。

我的 DAO 看起来像这样:

@Insert(onConflict = OnConflictStrategy.REPLACE)
fun addUser(user: User)

@Query("SELECT name FROM users")
fun getUsers(): Flowable<List<String>>

我的 DAOTest 看起来像这样。

val user1 = User(id = 1, name = "Andy")
userDao.adduser(user1).blockingAwait()
val user2 = User(id = 2, name = "Ben")
userDao.adduser(user2).blockingAwait()
val resultList = listOf(user1.name, user2.name) 
val testObserver = userDao.getUserNames().test()
testObserver.assertResult(resultList)

getUserNames() 只有值 list("Ben")。如何确保第一个 addUser() 调用成功,然后添加第二个用户?

标签: kotlinrx-java2android-room

解决方案


推荐阅读