使用和反应测试库进行测试时未定义的历史记录对象

时间:2019-04-26 17:03:19

标签: reactjs jestjs history.js babel-jest react-testing-library

我有一个应该做的按钮:单击该按钮。this.props.history.push(PageA)。 但是,出现此错误:TypeError: Cannot read property 'push' of undefined-表示历史记录未定义。

这是我的设置,它在每次对Tax分量进行测试之前运行

const initialState = {
    tax: {
        amount: 0.35
    }
};

function renderWithRedux(
    component,
    history = createMemoryHistory({ initialEntries: ['/app/dashboard'] }),
    store = createStore(***createReducer(history), initialState, applyMiddleware(thunk))
) {
    return {
        ...render(
            <Provider store={store}>
                <HelmetProvider>
                    <Router history={history}>
                        <Switch>{component}</Switch>
                    </Router>
                </HelmetProvider>
            </Provider>
        ),
        store,
        history
    };
}

***这是从另一个文件导入的:

    combineReducers({
        tax: taxReducer,
        router: connectRouter(history)
    });

还有另一种传递历史的方式吗?我错过了一点吗? 非常感谢那些将尝试提供帮助的人。 与示例或重要信息的任何链接将不胜感激:)

反应测试库:6.1.2

反应版本:16.8.6

npm:6.9.0

0 个答案:

没有答案