kotlin - 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() 调用成功,然后添加第二个用户?
解决方案
推荐阅读
- r - r 根据关键字搜索字符串并检查日期是否在开始日期和结束日期之间
- asp.net - ASP.NET 标识。向 Autofac 注册 UserManager
- codenameone - Codenameone - 当光标聚焦在键盘打开的文本字段上时,会扭曲屏幕
- angular - 将日期数组分配给 ngx-mydatepicker disableDates
- statistics - 排名数据的统计显着性检验
- c# - 在具有不同测试 IP 的多个位置工作
- python - 为什么 Monty Hall 的这种实现给出的概率是 50%?
- python - 删除字符串的多余部分
- holoviews - Geoviews 地图 WMTS 开始“框”
- grails - 从 Grails 2 升级到 Grails 3 后,我无法再访问 Grails 控制台