我使用webpack开发一个 React 组件。这是它的一个简单版本:
'use strict';
require('./MyComponent.less');
var React = require('react');
var MyComponent = React.createClass({
render() {
return (
<div className="my-component">
Hello World
</div>
);
}
});
module.exports = MyComponent;
现在,我想使用jest来测试这个组件。这是我的相关内容package.json
:
"scripts": {
"test": "jest"
},
"jest": {
"rootDir": ".",
"testDirectoryName": "tests",
"scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
"unmockedModulePathPatterns": [
"react"
]
}
运行时npm test
,我收到以下错误:
语法错误:/Users/mishamoroshko/react-component/src/tests/MyComponent.js:/Users/mishamoroshko/react-component/src/MyComponent.js:/Users/mishamoroshko/react-component/src/MyComponent.less:意外令牌非法
看起来 webpack 需要require('./MyComponent.less')
在 jest 运行测试之前进行处理。
我想知道我是否需要使用类似jest-webpack 的东西。如果是,有没有办法指定多个scriptPreprocessor
s?(注意我已经用过babel-jest
)