加入我们,于10月8日至10日在纽约市学习有关 GraphQL Federation 和 API 平台工程的最新的技巧、趋势和新闻。加入我们参加2024年纽约市 GraphQL 峰会
文档
免费开始

测试

Apollo客户端React测试API


有关使用MockedProvider进行测试的更多指导,请参阅测试React组件

MockedProvider

import { MockedProvider } from "@apollo/client/testing";

MockedProvider组件是ApolloProvider的模拟版本,不会向您的API发送网络请求。相反,它允许您指定特定操作的确切响应负载。这使您能够在不与服务器通信的情况下测试应用程序的操作。

属性

名称 /
类型
描述
mocks

ReadonlyArray

包含GraphQL操作定义及其对应模拟响应的数组。请参见定义模拟响应

addTypename

布尔型

如果设置为trueMockedProvider将自动向每个object type添加__typename字段。如果响应数组中的mocks不包含包含__typename字段,则将其设置为false。请参见设置addTypename

默认值是true

defaultOptions

默认选项

包含传递给MockedProviderApolloClient实例的直接选项的对象。请参见示例defaultOptions对象

cache

ApolloCache<TSerializedCache>

MockedProviderApolloClient实例使用的自定义缓存。当需要为自动缓存更新定义自定义dataIdFromObject函数时很有用。

默认情况下,MockedProvider使用默认配置创建一个InMemoryCache

resolvers

解析器

已弃用。包含用于MockedProviderApolloClient实例的本地解析器集合。

childProps

对象

传递给MockedProvider子组件的props。

showWarnings

布尔型

当请求无法匹配.mock时,将向控制台记录警告以指示不匹配。将此设置为false以静音这些警告。

默认值是true

示例mocks数组

const mocks = [
{
request: {
query: GET_DOG,
variables: { index: 4 }
},
result: {
data: {
dog: {
name: "Douglas"
}
}
}
},
{
request: {
query: GET_DOG,
variables: { index: 8 }
},
error: new Error("Something went wrong")
}
]

以上mocks数组:

  • 如果执行带有{ index: 4 }变量的GET_DOG操作,则返回名为Douglas的狗。
  • 如果以变量{ index: 8 }执行GET_DOG,则返回一个error

用法

请参见测试React组件

上一个
预加载
下一个
SSR
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司