Кажется, что у всех и их матери есть проблема этой проблемы.Ничего не сработало из всего, что я пробовал, из всех вопросов SO и билетов GH.
На самом деле все должно быть довольно просто, поскольку мой проект в значительной степени является новым проектом barebone.Тем не менее, я до сих пор не могу понять, что не подходит для моей жизни.
Когда я запускаю jest
:
/Desktop/Dropbox/Programming/iphone-app/fe/App.spec.tsx:11
const tree = react_test_renderer_1.default.create(<App_1.default />).toJSON();
^
SyntaxError: Unexpected token <
Мои файлы конфигурации:
// jest.config.js
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
-
// tsconfig.json
{
"compilerOptions": {
"allowJs": false,
"allowSyntheticDefaultImports": true,
"noFallthroughCasesInSwitch": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"isolatedModules": true,
"jsx": "react-native",
"lib": [
"es6"
],
"moduleResolution": "node",
"noEmit": true,
"strict": true,
"target": "esnext"
},
"exclude": [
"node_modules"
]
}
-
// babel.config.js
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
};
};
РЕДАКТИРОВАТЬ # 1
Просто чтобы прояснить ситуацию, я попытался использовать react-native
предустановка в файле конфигурации jest, но безуспешно (та же ошибка):
// jest.config.js
module.exports = {
preset: 'react-native',
transform: {
'^.+\\.js$': '<rootDir>/node_modules/react-native/jest/preprocessor.js',
'^.+\\.tsx?$': 'ts-jest'
},
globals: {
'ts-jest': {
tsConfig: 'tsconfig.json'
}
},
testEnvironment: 'node',
};