0

背景

所以我在一个项目中添加了反应查询,我的酶测试遇到了问题。对于那些使用过 RQ v3 的人,您知道它需要一个QueryClientProvider包装器。这对我的应用程序来说很好,但是像这样的测试:

...
const mountedComponent = () => {
    return mount(<Component {...props} />);
};

除非我添加这样的包装器,否则现在将失败:

import { QueryClient, QueryClientProvider } from 'react-query';
const queryClient = new QueryClient();
...
const mountedComponent = () => {
    return mount(<QueryClientProvider client={queryClient}><Component {...props} /></QueryClientProvider>);
};

问题

是否可以为开玩笑的一面添加一个全局包装器,也许setupTests可以在其中添加QueryClientProvider一次,而不是在每个需要它的测试上添加。

4

1 回答 1

0

迄今为止不和谐的最佳答案:

mount 的包装器而不是组件的包装器可能是可能的:

const mountWithQueryClient = (component) => mount(<QueryClientProvider client={new QueryClient()}>{component}</QueryClientProvider>)

然后你可以导入它而不是 mount ,但这仍然意味着触及你所有的测试:/

于 2021-02-01T15:04:51.507 回答