Я использую 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",
Буду признателен за любые отзывы или рекомендации по этой теме, поскольку в настоящее время я не могу написать какие-либо тесты для моих компонентов, кроме моего корневого компонента.
Заранее спасибо!