模拟ApolloClient的查询(调用)以进行测试

时间:2020-09-29 09:59:50

标签: android kotlin graphql apollo-client graphql-java

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

谢谢!

0 个答案:

没有答案