我尝试使用 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([]);
});
});