问题描述
我正在关注此处的官方文档:https://www.apollographql.com/docs/react/development-testing/testing/ 为我的 React 组件创建测试。
但是,我似乎找不到一种方法来测试传递到突变中的数据的形状,我有兴趣这样做,以确保我的代码按预期工作。
详细说明。假设这是一些伪代码的样子:
const [doMutation] = useMutation(MUTATION)
...
await doMutation({...data})
在我的测试(jest/react-testing-library)中,我想:
expect(doMutation).toHaveBeenCalledWith({...data});
解决方法
您可以使用生成的 Typescript 类型来提供帮助。当 Typescript 开始大喊大叫时,您就会知道您的 GraphQL 架构发生了变化。
我们已使用 apollo codegen:generate
命令完成此操作:
https://www.leighhalliday.com/generating-types-apollo
这有助于我们的前端团队了解后端架构何时发生变化以及需要修复的内容。太棒了!