Я создаю веб-приложение, используя Next.js, и делаю юнит-тест, используя jest.Я настроил проект, используя шаблон из create-next-app with-jest (https://github.com/zeit/next.js/tree/master/examples/with-jest). Все работает нормально, пока я не добавлю стилизацию с помощью style-jsx. Когда я запускаю jest --coverage
, я получаю эту ошибку.
TypeError: Property body[1] of BlockStatement expected node to be of a type ["Statement"] but instead got "SequenceExpression"
at validate (node_modules/@babel/types/lib/definitions/utils.js:128:13)
at validator (node_modules/@babel/types/lib/definitions/utils.js:97:7)
at Object.validate (node_modules/@babel/types/lib/definitions/utils.js:172:7)
at validate (node_modules/@babel/types/lib/validators/validate.js:17:9)
at builder (node_modules/@babel/types/lib/builders/builder.js:46:27)
at Object.BlockStatement (node_modules/@babel/types/lib/builders/generated/index.js:260:31)
at NodePath.replaceExpressionWithStatements (node_modules/@babel/traverse/lib/path/replacement.js:209:57)
at NodePath.insertBefore (node_modules/@babel/traverse/lib/path/modification.js:49:17)
at processTaggedTemplateExpression (node_modules/next/node_modules/styled-jsx/dist/babel-external.js:97:16)
at node_modules/next/node_modules/styled-jsx/dist/babel-external.js:183:11
Когда я только запускаю jest
без покрытия, тест пройден.
Я прочитал ту же проблему здесь https://github.com/zeit/styled-jsx/issues/436. Однако проблема все еще открыта, и нетодин находит ответ.