Жасминовый тест: как исправить «@ -webkit-keyframes scale SyntaxError: неверный или неожиданный токен» - PullRequest
0 голосов
/ 23 мая 2019

Я добавил Жасмин в свое приложение create-реагировать, следуя их руководству по установке .

Я хочу использовать тестовую среду Jasmine в моем проекте CRA.

На «npm test» я получаю:

@-webkit-keyframes scale {
^
SyntaxError: Invalid or unexpected token

в терминале.

Ранее я без проблем проводил тесты на шутку / энзим / cyrpess.

Если я сейчас укажу:

"presets": [
     "react-app"
    ]

в package.json

Я получаю, в тесте npm, в терминале:

Using `babel-preset-react-app` requires that you specify `NODE_ENV` or `BABEL_ENV` environment variables

Попытка решения здесь не имеет никакого значения

Если я укажу:

"presets": [
     "@babel/preset-react",
      "@babel/preset-env"
    ]

в package.json

Я получаю:

@-webkit-keyframes scale {
^
SyntaxError: Invalid or unexpected token

снова в терминале при 'npm test'.

@-webkit-keyframes scale {
^
SyntaxError: Invalid or unexpected token

Это предложено:

Жасмин не понимает ES6. Вам нужно будет перенести свои спецификации на предустановки es2015.

, что дает мне:

Error: Cannot find module 'babel-preset-es2015'

после того, как я побежал:

npm install --save-dev @babel/preset-es2015

без разницы (я получил ту же ошибку).

Это не работает

Это и это не помогло

Принимая во внимание это , я закомментировал

@-webkit-keyframes 

из файла .css, используя ссылку, но это не имело значения.

package.json

{
  "name": "sportrank",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "ajv": "^6.10.0",
    "async": "^3.0.0",
    "axios": "^0.18.0",
    "bootstrap": "^4.3.1",
    "browserslist": "^4.6.0",
    "chai": "^4.2.0",
    "chance": "^1.0.18",
    "date-fns": "^2.0.0-alpha.25",
    "fortmatic": "^0.7.2",
    "jquery": "^3.4.1",
    "lodash": "^4.17.11",
    "npm-install": "0.0.1",
    "nyc": "^14.1.1",
    "p-iteration": "^1.1.8",
    "popper.js": "^1.15.0",
    "react": "^16.8.6",
    "react-bootstrap": "^0.32.4",
    "react-bootstrap-table": "^4.3.1",
    "react-dom": "^16.8.6",
    "react-router-dom": "^5.0.0",
    "react-spinkit": "^3.0.0",
    "react-table": "^6.10.0",
    "sendmail": "^1.4.1",
    "sinon": "^7.3.2",
    "ts-pnp": "^1.1.2",
    "typescript": "^3.4.5",
    "web3": "^1.0.0-beta.54",
    "web3-hdwallet-provider": "^1.0.4-fix2"
  },
  "devDependencies": {
    "@babel/cli": "^7.0.0",
    "@babel/core": "^7.4.5",
    "@babel/node": "^7.0.0",
    "@babel/plugin-proposal-class-properties": "^7.4.4",
    "@babel/polyfill": "^7.4.4",
    "@babel/preset-env": "^7.4.5",
    "@babel/preset-es2015": "^7.0.0-beta.53",
    "@babel/register": "^7.4.4",
    "babel-preset-react-app": "^9.0.0",
    "css-loader": "^2.1.1",
    "cypress": "^3.3.0",
    "enzyme": "^3.9.0",
    "enzyme-adapter-react-16": "^1.13.1",
    "ignore-styles": "^5.0.1",
    "jasmine": "^3.4.0",
    "jasmine-enzyme": "^7.0.2",
    "jsdom": "^15.1.0",
    "react-addons-test-utils": "^15.6.2",
    "react-scripts": "^3.0.1",
    "react-test-renderer": "^16.8.6",
    "riteway": "^6.0.3"
  },
  "scripts": {
    "test": "babel-node spec/run.js",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test-react": "react-scripts test",
    "test:watch": "react-scripts --watch",
    "test:coverage": "react-scripts --coverage --colors",
    "eject": "react-scripts eject",
    "start": "NODE_ENV=development BABEL_ENV=development node bootstrap.js node bootstrap.js",
    "serve": "NODE_ENV=production BABEL_ENV=production node bootstrap.js node bootstrap.js"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "babel": {
    "presets": [
      "@babel/preset-react",
      "@babel/preset-env"
    ],
    "plugins": [
      [
        "@babel/plugin-proposal-class-properties"
      ]
    ]
  }
}

webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      }
    ],
    loaders: [
      {
         test: /\.css$/,
         use: [
             {loader: "style-loader"},
             {loader: "css-loader"}
         ],
         options:{
           modules:true,
           localIdentName:'[path][name]__[local]--[hash:base64:5]',
         },
         exclude: /node_modules/
      }
    ]
  }
};

Ожидать: тест Жасмин для запуска без проблем с загрузкой / синтаксисом.

Фактический:

@-webkit-keyframes scale {
^
SyntaxError: Invalid or unexpected token
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...