Я пытаюсь запустить тесты с Jest и энзимом в приложении Preact с TypeScript.
Я получаю Jest с неожиданной ошибкой токена:
FAIL src/app/app.test.tsx
● Test suite failed to run
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse,
e.g. it's not plain JavaScript.
...
Details:
src/app/app.test.tsx:10
const wrapper = enzyme_1.mount(<app_1.default optOutUrl="none"/>);
^
SyntaxError: Unexpected token <
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1059:14)
После просмотра Пример TypeScript в этом репозитории, я меняю опцию jsx, чтобы реагировать в tsconifg.json
. Но это не полезно для среды моего проекта:
Cannot find module 'react' from 'styled.js'
However, Jest was able to find:
'./styled.js'
'./styled.js.flow'
'./styled.js.map'
See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:276:11)
at Object.<anonymous> (node_modules/linaria/src/react/styled.js:3:15)
В приведенной выше ошибке говорится, что в файле, связанном со стилизованным компонентом, произошел сбой реагирования. (Я использую стилизованные компоненты из linaria/react
с пользовательским Preact, набирающим .) Эта проблема не возникает в среде разработки и производства.
Я также пытался использовать babel-jest с приведенным ниже конфигом.
“transform”: {
“^.+\\.t(s|x)$”: “babel-jest”
}
FAIL src/app/app.test.tsx
● Test suite failed to run
src/app/app.tsx: Cannot find module 'react'