UI 测试
Apollo Kotlin提供了一个内置的IdlingResource
,以帮助您使用 Espresso 编写 UI 测试。ApolloIdlingResource
确保在您的测试继续之前,您的 GraphQL 查询已终止。
添加apollo-idling-resource
依赖项:
build.gradle[.kts]
implementation("com.apollographql.apollo3:apollo-idling-resource:3.8.5")
如果您有多个 ApolloClient
,您需要为每个创建并注册一个具有不同名称的 ApolloIdlingResource
。使用相同名称注册多个 IdlingResource
将导致您的测试套件崩溃。
// Create your IdlingResourceval idlingResource = ApolloIdlingResource("apolloIdlingResource")// Register the idlingResource before running your tests (once per client).IdlingRegistry.getInstance().register(idlingResource)// Intruct your ApolloClient to update the IdlingResourceval apolloClient = ApolloClient.Builder().serverUrl("https://example.com/graphql").idlingResource(idlingResource).build()
在上面的示例中,所有 操作(除了可能会运行很长时间的 订阅,将更新 IdlingResource
,以便在您的应用程序等待数据时不会发生任何自动操作。