Reactjs Cypress-Cypress单元测试中mountHook中的短截线/模拟redux挂钩

Reactjs Cypress-Cypress单元测试中mountHook中的短截线/模拟redux挂钩,reactjs,unit-testing,cypress,Reactjs,Unit Testing,Cypress,我试图对一个自定义钩子进行单元测试,该钩子也使用redux钩子,比如useSelector&useDispatch,但是我得到一个错误,钩子没有包装在提供者中。我正在使用cypress react unit test挂载钩子,但不确定如何绕过提供程序问题。感谢您的帮助 在内部,他们将钩子称为组件内部的钩子,所以我想知道是否有一种方法可以改变它 it('Check Groups keys for String', () => { mountHook(() => useGro

我试图对一个自定义钩子进行单元测试,该钩子也使用redux钩子,比如
useSelector
&
useDispatch
,但是我得到一个错误,钩子没有包装在
提供者中。我正在使用
cypress react unit test
挂载钩子,但不确定如何绕过提供程序问题。感谢您的帮助

在内部,他们将钩子称为组件内部的钩子,所以我想知道是否有一种方法可以改变它

  it('Check Groups keys for String', () => {
    mountHook(() => useGroups())
      .then(uesGroupsResults => {
        // assert here...
      });
  });

mountHook函数接受第二个options参数。其中一个选项是
wrapper
。这可以设置为React组件,例如提供者

例如(来自最近更新的
cypress react单元测试
文档):

从“cypress react单元测试”导入{mountHook}
常量包装器=({children})=>{children}
mountHook(()=>useCustomHook(),{wrapper})

不幸的是,您引用了现在存档的
cypress react单元测试
。然后,在@cypress/react 4.16.4的最新稳定版本中,我找不到任何
mountHook()
选项和包装器支持。
import { mountHook } from 'cypress-react-unit-test'
const wrapper = ({ children }) => <Provider store={store}>{children}</Provider>
mountHook(() => useCustomHook(), { wrapper })