如何在 redux 中使用 renderHook

时间:2021-07-27 20:49:40

标签: unit-testing react-redux react-hooks

我尝试使用 renderHook 来编写我的测试。在遵循一些示例之后,我有问题要从 wrapper 移到 it 以便我多次使用。我该怎么做?

import {Provider} from 'react-redux';
import {QueryClient, QueryClientProvider} from 'react-query';
import {createStore} from 'redux';

function todos(state = [], action) {
  switch (action.type) {
    case 'ADD_TODO':
      return state.concat([action.text])
    default:
      return state
  }
}

const store = createStore(todos, ['Use Redux'])



  it('countd', async () => {
    const store = createStore(todos, ['+ num', '+ num', '- num'])

    const wrapper: React.FC = ({children}) => (
      <Provider store={store}>
        <QueryClientProvider client={new QueryClient()}>{children}</QueryClientProvider>
      </Provider>
    );

    const {result} = renderHook(() => useInfoHook(), {wrapper});
    result.current.onFindInfo();
    expect(store.getState().Add_TODO).toEqual([]);
  });
});

0 个答案:

没有答案