小编Ale*_*dra的帖子

出于测试目的模拟 ApolloClient 的查询(调用)

使用 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

谢谢!

android kotlin graphql apollo-client graphql-java

5
推荐指数
0
解决办法
631
查看次数

标签 统计

android ×1

apollo-client ×1

graphql ×1

graphql-java ×1

kotlin ×1