【发布时间】:2021-10-15 21:42:20
【问题描述】:
我试图模拟对我的查询的响应,但我不能,因为构建器需要并且不知道如何传递操作?
基本上我有这样的网络类:
class NetworkService @Inject constructor(
private val apolloClient: ApolloClient
) {
suspend fun <D : Operation.Data, T, V : Operation.Variables> suspendedQuery(
query: Query<D, T, V>,
cachePolicy: HttpCachePolicy.Policy = HttpCachePolicy.NETWORK_FIRST
): Resource<Response<T>> {
val response = try {
apolloClient.query(query)
.toBuilder().httpCachePolicy(cachePolicy)
.build()
.await()
} catch (e: ApolloException) {
return Resource.error(e.localizedMessage)
}
return if (response.hasErrors()) {
Resource.error(response.errors.toString())
} else {
Resource.success(response)
}
}
}
我想像这样模拟从这个函数返回的响应
当我返回错误时我成功了
val expectedResponse = Resource.error<Response<MyQuery.Data>>("ERROR")
但我在这里嘲笑响应有问题:
val expectedResponse = Resource.success<Response<MyQuery.Data>>(Response("Response.builder(Operation<>)"))
我想知道如何构建里面的引用“Response.builder(Operation)”?
【问题讨论】: