当我迁移到Babel 7后,启动我的测试时,会出现以下错误:
TypeError: Cannot read property 'default' of undefined
针对以下代码行(例如index.js
文件):
export { default } from './SearchInput';
其中SearchInput.jsx
文件与此文件在同一个文件夹中,并且使用了
export class SearchInput {}
语法。
这只会在Jest测试中发生(在应用程序运行时它可以正常工作)。
我该如何解决?
编辑:
这是我的babel配置文件babel.config.js
:
module.exports = function(api) {
api.cache.forever();
return {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ['@babel/plugin-proposal-class-properties'],
};
};
看起来jest不支持plugins
,因为当我移除static defaultProps
和static propTypes
并将它们移到SearchInput.defaultProps
和SearchInput.propTypes
时,测试开始工作。
SearchInput
可用之前导入它。你需要制作一个简化的文件结构示例来证明文件夹结构。 - loganfsmyth