使用 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() }
}
Run Code Online (Sandbox Code Playgroud)
有没有一种优雅的方式来模拟apolloClient.query(call)Rx2Apollo 返回响应的响应?
我尝试使用 RealApolloCall、自定义 ApolloCall 等,但没有任何说服力。而且我不想提取和模拟整个Rx2Apollo.from(apolloClient.query(call))部分。使用 mockWebServer 不适用,因为我不想测试 apolloClient,我想模拟它的响应来测试其余的。
有一个相关问题已关闭,但没有真正提及解决的最佳方法:https : //github.com/apollographql/apollo-android/issues/1144
谢谢!