如何解决MockK可以模拟一个函数以返回在同一测试中多次调用的不同值
我具有下面的功能,首先检查数据库,如果数据库为空,然后检查远程源并删除旧的数据并保存新数据,并从db获取新数据以将数据库用作单一事实来源。
fun getPostFlowOfflineFirst(): Flow<List<Post>> {
return flow { emit(repository.getPostEntitiesFromLocal()) }
.map {
if (it.isEmpty()) {
repository.run {
val data = fetchEntitiesFromRemote()
deletePostEntities()
savePostEntities(data)
getPostEntitiesFromLocal()
}
} else {
it
}
}
.flowOn(dispatcherProvider.ioDispatcher)
.catch { throwable ->
emitAll(flowOf(listOf()))
}
.map {
toPostListOrError(it)
}
}
我知道我可以将getPostEntitiesFromLocal()
替换为data
,但是我的问题是我是否可以模拟一个函数以返回称为不同时间的不同值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。