React / Jest error: импортированная функция не распознана - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь настроить 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');
...