#reactjs #jestjs #babeljs #react-testing-library
#reactjs #jestjs #babeljs #реагировать-тестирование-библиотека
Вопрос:
Babel-jest не переносит JSX / ES6 в node_modules
папку при запуске тестов Реагирующие компоненты, которые не используют другие компоненты из node_modules
, проходят все тесты правильно.
Попробуйте добавить transformIgnorePatterns
и переименовать в babel.config.js
из-за https://github.com/facebook/jest/issues/6229
package.json
"devDependencies": {
"@babel/core": "7.1.2",
"@babel/node": "7.0.0",
"@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/plugin-transform-modules-commonjs": "^7.4.0",
"@babel/preset-env": "7.2.0",
"@babel/preset-react": "7.0.0",
"babel-eslint": "10.0.1",
"babel-jest": "24.5.0",
"babel-loader": "8.0.4",
"jest": "24.5.0",
"jest-dom": "3.1.3",
.......
},
babel.config.js
module.exports = {
presets: [
'@babel/preset-env',
'@babel/preset-react',
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-proposal-class-properties',
'react-hot-loader/babel',
],
env: {
test: {
plugins: ['@babel/plugin-transform-modules-commonjs', '@babel/plugin-proposal-class-properties'],
},
},
};
jest.config.js
module.exports = {
transform: {
'^. \.jsx?$': 'babel-jest',
},
moduleNameMapper: {
'\.(css|less|scss|sss)$': 'identity-obj-proxy',
},
testEnvironment: 'jsdom',
};
Комментарии:
1. Такого рода проблемы обычно довольно сложны из-за зависимостей, поэтому я предлагаю поделиться всем репозиторием, где люди могут получить копию вашего рабочего каталога, чтобы протестировать вещи, чтобы выяснить проблему.
Ответ №1:
На самом деле, ссылка ниже помогла мне. Достаточно было добавить transformIgnorePatterns
мои компоненты из node_modules
, поэтому babel-jest
игнорируйте все файлы вместо моих компонентов
изображение из документов jestjs
https://jestjs.io/docs/en/tutorial-react-native#transformignorepatterns-customization