Синтаксическая ошибка библиотеки Jest & Testing Неожиданный идентификатор asyn c Babel Issue - PullRequest
2 голосов
/ 31 января 2020

при запуске "npm test", который запускает "jest", когда я получаю эту проблему на CentOS 7, но не на Windows или RHEL 6/7:

{project_name}/node_modules/@testing-library/react/dist/index.js:48
  asyncWrapper: async cb => {
                      ^^

SyntaxError: Unexpected identifier

  2 | import { shallow } from "enzyme";
  3 | import <import> from "../<component>";
> 4 | import { render, fireEvent, act } from "@testing-library/react";
    | ^
  5 | import axios from "axios";
  6 | import MockAdapter from "axios-mock-adapter";
  7 | 

  at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
  at Object.<anonymous> (src/<File>.test.js:4:1)

Package. json:

"name": "<project_name>",
"version": "<version>",
"description": "",
"main": "index.js",
"scripts": {

 "test": "jest --coverage -u",
 "test:uncommitted": "jest --coverage -o",
 "test:watch": "jest --watch --coverage",
 "test:watchAll": "jest --watchAll --coverage",
 "scan": "sonar-scanner",
 "report": "npm-run-all --continue-on-error test scan",
 "clean": "rimraf dist & rimraf coverage & rimraf node & rimraf .scannerwork & rimraf target & rimraf tmp* & rimraf *.rpm",
 "build": "parcel build ./src/index.html -d target --public-url .",
 "rpm": "node rpmbuilder.js",
 "build-rpm": "npm run build && npm run rpm",
 "increment-version": "./incrementVersion.sh",
 "store": "./store.sh"
},
"husky": {
 "hooks": {
"pre-commit": ""
 }
},
"jest": {
 "setupTestFrameworkScriptFile": "<rootDir>/src/testSetup.js",
 "collectCoverageFrom": [
"src/**/*.js"
 ],
 "coveragePathIgnorePatterns": [
"src/index.js",
"src/_helpers/*",
"src/assets/lib/*"
 ]
},
"dependencies": {
"@material-ui/core": "4.5.1",
"@material-ui/icons": "^4.5.1",
"@material-ui/styles": "^4.8.2",
"@mdi/js": "^4.7.95",
"@mdi/react": "^1.2.1",
"@types/material-ui": "^0.21.7",
"babel-preset-stage-2": "^6.24.1",
"body-parser": "^1.19.0",
"createjs-module": "^0.8.3",
"js-file-download": "^0.4.9",
"json-server": "^0.14.2",
"jsonwebtoken": "^8.5.1",
"material-table": "^1.55.0",
"material-ui": "^0.20.2",
"mdi-react": "^6.5.0",
"mui-virtualized-table": "^2.2.3",
"npm": "^6.13.4",
"react": "^16.12.0",
"react-beautiful-dnd": "^10.1.1",
"react-dom": "^16.12.0",
"react-dropzone": "^8.2.0",
"react-select": "^2.4.4",
"react-virtualized": "^9.21.2",
"rpm-builder": "^1.1.0",
"rpmbuild": "0.0.22",
"styled-components": "^4.4.1",
"superagent": "^4.1.0",
"typeface-roboto": "0.0.54"
},"devDependencies": {
 "@testing-library/react": "^8.0.9",
 "axios": "^0.18.1",
 "axios-mock-adapter": "^1.17.0",
 "babel-core": "^6.26.3",
 "babel-eslint": "^10.0.3",
 "babel-jest": "^23.6.0",
 "babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"eslint": "^5.16.0",
"eslint-config-prettier": "^3.6.0",
"eslint-plugin-import": "^2.20.0",
"eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-react": "^7.18.0",
"formik": "^1.5.8",
"husky": "^3.1.0",
"jest": "^23.6.0",
"npm-run-all": "^4.1.5",
"parcel-bundler": "^1.12.3",
"prettier": "^1.19.1",
"react-app-polyfill": "^1.0.5",
"react-test-renderer": "^16.12.0",
"sonar-scanner": "^3.1.0",
"yup": "^0.27.0"
}
}

.babelr c:

{
  "presets": ["env", "react", "stage-2"]
}

Очевидно, что это проблема переноса вавилона, когда он не переносит код node_modules для реакции-тестирования Framework, но что может сделать этот вопрос OS-зависимым? Как я могу это исправить?

Тесты отлично работают на Windows 10, RHEL 6 и RHEL 7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...