Получение ошибки при попытке импортировать компонент в Jest - PullRequest
0 голосов
/ 02 ноября 2018

Я использую React + Redux / Redux-thunk и пытаюсь внедрить шут / энзим. Я был в состоянии успешно сделать прохождение теста для корневого компонента. Однако я застрял в точке, где я пытаюсь создать новый тестовый файл для другого компонента. Независимо от того, какой компонент я пытаюсь проверить (подключен или не подключен), я получаю ту же ошибку.

 FAIL  src/views/LoginView/LoginView.test.jsx
  ● Test suite failed to run

    Expected the reducer to be a function.

      32 |   }
      33 | 
    > 34 |   const store = middleware(createStore)(rootReducer, initialState);
         |                 ^
      35 |   const compressor = createCompressor();
      36 |   const persistor = persistStore(store, { transforms: [compressor] }, () => { store.getState(); });
      37 | 

  at createStore (node_modules/redux/lib/createStore.js:68:11)
  at node_modules/redux/lib/applyMiddleware.js:38:19
  at middleware (src/redux/configureStore.js:34:17)
  at Object.<anonymous> (src/main.jsx:78:37)

Я не могу даже написать свой первый тест, так как он выдает ошибки при импорте компонента.

Тестовый файл выглядит примерно так (почти пустой) и находится в том же каталоге, что и компонент LoginView.

import React               from 'react';
import { shallow }         from 'enzyme';

import LoginView       from './LoginView';

test('passing test', () => {

});

Мой файл jest.config.js выглядит так:

module.exports = {
  setupTestFrameworkScriptFile: '<rootDir>/test/setupTests.js',

  moduleNameMapper: {
    '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js',

    '\\.(css|less|scss)$': 'identity-obj-proxy',
    '^handsontable'      : 'handsontable',
  },

  modulePaths: [
    '<rootDir>/node_modules',
  ],

  transformIgnorePatterns: [
    'node_modules/(?!(react-joyride)/)',
  ],

  globals: {
    __API_BASE__        : '',
    __HOT_BUILD_DATE__  : '',
    __HOT_PACKAGE_NAME__: '',
    __HOT_VERSION__     : '',
    __HOT_BASE_VERSION__: '',
    __BASENAME__        : false,
    __DEBUG__           : false,
  },

  verbose: true,

};

Я использую следующие версии всего:

"react": "^16.5.2",
"babel-jest": "^23.6.0",
"jest": "^23.6.0",
"jest-enzyme": "^7.0.0",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.6.0",
"redux": "^3.7.2",
"redux-persist": "^5.5.0",
"react-redux": "^5.0.6",
"redux-raven-middleware": "^1.2.0",
"redux-thunk": "^2.2.0",

Буду признателен за любые отзывы или рекомендации по этой теме, поскольку в настоящее время я не могу написать какие-либо тесты для моих компонентов, кроме моего корневого компонента.

Заранее спасибо!

...