history.createBrowserHistory不是在使用React的Jest测试中的函数

时间:2019-05-14 19:17:48

标签: reactjs jestjs

我在Chrome控制台中看到以下错误:

warnAboutDeprecatedCJSRequire.js:17 Warning: Please use `require("history").createBrowserHistory` instead of `require("history/createBrowserHistory")`. Support for the latter will be removed in the next major release.”

为解决此警告,我更改了:

import createHistory from 'history/createBrowserHistory';

export default createHistory();

收件人:

import { createBrowserHistory } from 'history';

const history = createBrowserHistory();

export default history;

这可以正确解决警告,但是许多Jest测试现在失败,并显示以下错误:“ TypeError:(0,_history.createBrowserHistory)不是函数”

该项目正在使用:

  • 反应16.4.1
  • redux 4.0.0
  • react-router-dom 4.2.2

1 个答案:

答案 0 :(得分:0)

使用此代码修复错误,运行jest时未定义此函数。

import { createBrowserHistory } from "history"

const history = createBrowserHistory ? createBrowserHistory() : []

export default history