使用graphQl和ApolloClient的Kotlin Android应用。
我要测试此方法:
fun myMethod(id: String): Single<List<MyEntity>> {
val call = Query(id)
return Rx2Apollo.from(apolloClient.query(call))
.map { modeCode() }.firstOrError().onErrorReturn { emptyList() }
}
是否有一种优雅的方法来模拟apolloClient.query(call)
的响应,以便Rx2Apollo返回响应?
我尝试过使用RealApolloCall,使用自定义ApolloCall等,没有什么能说服我。
而且我不想提取和模拟整个Rx2Apollo.from(apolloClient.query(call))
部分。使用嘲笑WebServer不适用,因为我不想测试apolloClient,所以我想模拟它的响应以测试其余部分。
一个未解决的相关问题并未真正提及解决的最佳方法: https://github.com/apollographql/apollo-android/issues/1144
谢谢!