reactjs - React/Jest 错误:无法识别导入的函数
问题描述
我正在尝试设置 Jest 以在我的 React 应用程序中进行测试。它适用于一些基本功能,但是当我尝试从节点模块导入功能并使用它时,它会引发类型错误:TypeError: (0 , _reactCssThemr.themr) is not a function
为了缩小问题的范围,我删除了大部分配置,只是在测试一个虚拟组件,但仍然出现错误。我似乎无法弄清楚我在这里有什么问题,我认为它与配置有关。似乎它只是没有得到节点模块。
基础测试:
import JestTest from 'components/JestTest.jsx';
import TestRenderer from 'react-test-renderer';
describe('CompsCards', () => {
it('renders', () => {
const e = TestRenderer.create(<JestTest />).toJSON();
expect(e).toMatchSnapshot();
});
});
JestText.jsx:
import theme from 'css-modules/JestTest.css';
import { themr } from 'react-css-themr';
export class JestTest extends React.Component {
render () {
const {theme} = this.props;
return (
<div className={theme.JestTest}>Why no workey?</div>
);
}
}
const ThemedJestTest = themr('JestTest', theme)(JestTest);
export default ThemedJestTest;
jest.config.js
module.exports = {
transform: {
'^.+.jsx?$': 'babel-jest'
},
verbose: true,
setupFiles: ['./jest-setup.js'],
moduleDirectories: ['node_modules'],
moduleFileExtensions: [
'js',
'jsx',
'css'
],
moduleNameMapper: {
'^components/(.+)$': '<rootDir>/src/client/components/$1',
'^css-modules/(.+)$': 'identity-obj-proxy',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js',
'\\.(css|scss)$': 'identity-obj-proxy'
}
};
jest-setup.jsx
require.requireActual('babel-polyfill');
解决方案
推荐阅读
- python - 梯度下降 - 作为列表和作为 numpy 数组的 theta 之间的区别
- java - 用于 DFA 最小化算法的 Java 中的 Pair 类的良好替代品?
- python - 使用 PyPlot 更新 Tkinter Canvas:非常奇怪的行为 - Python3
- c++ - 如何通过TCP接收多个文件并在C++中同时保存?
- r - 进行逻辑回归时如何绘制缺失的正态分布?
- linux - 如何重命名文件,谢谢
- scala - 在 Apache Spark 中,我有一个数据框,其中有一列包含字符串(它的日期),但月份和日期中缺少前导零
- matlab - 在 Matlab 单元格数组中操作值
- python - Visual Studio 对 Python 版本感到困惑
- python - 无法在 Spyder IDE 中使用 Plotly 生成绘图