我花了很长时间查看有关此问题的其他问题并查看
Github上的其他项目,但没有一个答案似乎对我有用.
我正在我的项目中加载第三方库,当运行Jest测试时,我收到错误
export default portalCommunication; ^^^^^^ SyntaxError: Unexpected token export > 1 | import portalCommunication from 'mathletics-portal-communication-service';
我已尝试以多种方式更新我的Jest配置以使其转换此库但我总是得到相同的错误.
这是我当前的jest.config.js文件:
module.exports = { moduleNameMapper: { '\\.(css|scss)$': 'identity-obj-proxy','\\.svg$': '<rootDir>/test/mocks/svg-mock.js' },setupFiles: ['./test/test-setup.js'],transformIgnorePatterns: [ '<rootDir>/node_modules/(?!mathletics-portal-communication-service)' ] };
我还尝试添加transform属性来对这个mathletics-portal-communication-service目录运行babel-jest.
请帮忙!
解决方法
作为现在的解决方法,我已经更改了我的配置以使用moduleNameMapper选项来为该库加载模拟类.我宁愿使用transformIgnorePatterns,所以仍然会欣赏任何想法.
新配置:
module.exports = { moduleNameMapper: { '\\.(css|scss)$': 'identity-obj-proxy','\\.svg$': '<rootDir>/test/mocks/svg-mock.js','mathletics-portal-communication-service': '<rootDir>/test/mocks/mathletics-portal-communication-service-mock.js' },setupFiles: ['./test/test-setup.js'] };