React / Jest错误:无法识别导入的功能

时间:2018-05-21 18:54:17

标签: reactjs jest babel-jest

我正在尝试在我的React应用程序中设置Jest进行测试。它在一些基本函数上工作正常,但是当我尝试从节点模块导入函数并使用它时,它会抛出一个Type错误: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'
   }
 };

开玩笑-setup.jsx

require.requireActual('babel-polyfill');

0 个答案:

没有答案