如何测试使用 apollo 客户端 Reactive Var 的组件

Posted

技术标签:

【中文标题】如何测试使用 apollo 客户端 Reactive Var 的组件【英文标题】:How to test a component that uses an apollo client Reactive Var 【发布时间】:2021-02-27 02:04:37 【问题描述】:

如何对使用 useReactiveVar 钩子的功能组件进行单元测试(使用 jestenzyme)?

我应该用jest 模拟useReactiveVar 钩子吗?

【问题讨论】:

【参考方案1】:

您可以在每个测试中模拟整个 apollo 客户端以给出不同的响应。我的意思是:

jest.mock('@apollo/client', () => (
    makeVar: () => 
      return ;
    ,
    useReactiveVar: () => 
      return  account:  name: 'Test'  ;
    ,
  ));

但这仅在测试只使用一个 reactiveVar 的组件时才有用。

【讨论】:

以上是关于如何测试使用 apollo 客户端 Reactive Var 的组件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jest / apollo 客户端中捕获被拒绝的 graphql 订阅?

vue-apollo 3.0.0 测试版配置

测试 Angular Effect + graphql apollo 客户端

使用 React Hook 客户端测试 Apollo 查询

Angular 使用 Apollo:单元测试:错误:尚未定义客户端

通过 apollo 客户端测试使用查询和订阅的反应组件