Node.js 更新到npm 3.3.12后,使用Jest进行单元测试时出错
我最近更新了我的项目到节点5.1.0,npm 3.3.12,并更新了我的所有依赖项。。。现在我在和一堆错误作斗争 起初,我在这个问题上遇到了相同的错误:,很容易就解决了 但是现在我得到了这个: 警告:React.createElement:类型不应为null,未定义, 布尔值,或数字。它应该是字符串(对于DOM元素)或 ReactClass(用于复合组件) 及 错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象 我的package.json中包含以下内容:Node.js 更新到npm 3.3.12后,使用Jest进行单元测试时出错,node.js,reactjs,npm,jestjs,Node.js,Reactjs,Npm,Jestjs,我最近更新了我的项目到节点5.1.0,npm 3.3.12,并更新了我的所有依赖项。。。现在我在和一堆错误作斗争 起初,我在这个问题上遇到了相同的错误:,很容易就解决了 但是现在我得到了这个: 警告:React.createElement:类型不应为null,未定义, 布尔值,或数字。它应该是字符串(对于DOM元素)或 ReactClass(用于复合组件) 及 错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象 我的package.json中包含以下
"jest": {
"collectCoverage": true,
"testRunner": "./node_modules/jest-cli/src/testRunners/jasmine/jasmine2",
"scriptPreprocessor": "./node_modules/babel-jest",
"unmockedModulePathPatterns": [
"./node_modules/es6-promise",
"./node_modules/events",
"./node_modules/fbjs",
"./node_modules/flux",
"./node_modules/history",
"./node_modules/immutable",
"./node_modules/lodash",
"./node_modules/moment",
"./node_modules/react",
"./node_modules/react-addons-pure-render-mixin",
"./node_modules/react-addons-test-utils",
"./node_modules/react-d3",
"./node_modules/react-dom",
"./node_modules/react-modal",
"./node_modules/react-router",
"./node_modules/whatwg-fetch"
]
}
我的测试的相关部分是:
var ImageGallery = require('../../../app/components/image-gallery/image-gallery');
imageGalleryComponent = TestUtils.renderIntoDocument(
<ImageGallery
items={items}
onSlide={onSlideMock}
lazyLoad={false}
showBullets={true}
showThumbnails={true}
showNav={true}
slideInterval={4000}/>
);
var ImageGallery=require('../../../app/components/image gallery/image gallery');
imageGalleryComponent=TestUtils.renderIntoDocument(
);
有人碰到过这个问题吗?关于如何解决这个问题有什么线索吗?在我的代码中,我使用了带有“imports”的babel,所以问题是在测试中,我也需要使用“imports”,或者只是在require语句的末尾添加一个“.default”,类似这样:
var ImageGallery = require('../../../app/components/image-gallery/image-gallery').default;