开玩笑地测试apollo提供程序出错:TypeError:this.client.watchQuery不是函数

son*_*nal 6 unit-testing react-apollo

我遇到了错误:永久违反:在Query上下文中或作为传递的道具找不到“客户端”。将根组件包装在

然后我在测试时用prop客户将组件包装在apollo提供程序中。


TypeError: this.client.watchQuery is not a function

  732 |
  733 |   it('should close the overlay when the close button is clicked', () => {
> 734 |     const mandateBatchWrapper = mount(
  735 |       <ApolloProvider client={clientForApollo}>
  736 |         <MandateBatch
  737 |           data={data}
Run Code Online (Sandbox Code Playgroud)

小智 3

你的 ApolloClient 可能会被嘲笑。如果你在某个地方有一个文件__mocks__/apollo-client.js,即使不调用 ApolloClient 也会被嘲笑jest.mock('apollo-client')https://jestjs.io/docs/en/manual-mocks#mocking-node-modules