最近,我将项目更新为节点5.1.0,npm 3.3.12,并更新了所有依赖项.现在我在和一堆错误作斗争!
最初,我遇到了与这个问题相同的错误:https://github.com/facebook/jest/issues/554,这个错误很容易修复。
现在我得到这个了:
警告: React.createElement: type不应为空、未定义、布尔或数字。它应该是一个字符串(用于DOM元素)或一个ReactClass (用于组合组件)。
和
错误:不变冲突:元素类型无效:预期字符串(用于内置组件)或类/函数(用于组合组件),但got: object。
我在我的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}/>
);有人遇到过这个问题吗?有什么解决办法的线索吗?
发布于 2015-11-30 19:30:51
在我的代码中,我使用的是带"imports“的babel,所以问题是,在测试中,我也需要使用"imports",或者在require语句的末尾添加一个".default”,如下所示:
var ImageGallery = require('../../../app/components/image-gallery/image-gallery').default;https://stackoverflow.com/questions/33976917
复制相似问题