Реакция JS Jest вызывает "SyntaxError: Неожиданный токен".

Теперь я использую JEST для проверки кода. Если компонент одинарный и не импортирует ничего, "npm test" работает плавно, и теперь я хочу протестировать несколько компонентов вместе, и я сразу получил эту ошибку:

SyntaxError: Unexpected token .

Кажется, всякий раз, когда реакция импортирует что-то другое, например:

require( './style/fixed-data-table.css' );
require( './style/jnpr-datatable.scss' );

а затем с помощью шутки бросает неожиданный токен ". ошибка.

В моих настройках должно быть что-то не так, но где? My Package.json содержит:

 "jest": {
   "unmockedModulePathPatterns": [
     "<rootDir>/node_modules/react/",
     "<rootDir>/node_modules/react-dom/",
     "<rootDir>/node_modules/react-addons-test-utils/"
   ]
 }

И.babelrc уже находится в корне. Также включен бутерброд. благодаря

Ответы

Ответ 1

Посмотрите на jest docs для интеграции webpack. Проблема в том, что jest can not работает с другим материалом, а затем js. Таким образом, вы должны издеваться над всеми файлами js, которые вы импортируете. Самый простой способ - настроить moduleNameMapper в своих конфигурациях jest.

{
  "jest": {
    "moduleNameMapper": {
      "\\.(css|scss)$": "<rootDir>/__mocks__/styleMock.js"
    }
  }
}

с __mocks__/styleMock.js который выглядит следующим образом.

module.exports = {};

Ответ 2

Мне это сошло с рук, добавив эти две строки в мой файл .babelrc

{
    "presets": ["env", "react"],
    "plugins": ["transform-class-properties"]
}

и мой package.json выглядит так:

{
  "name": "crud-redux",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
  "react": "^16.4.0",
  "react-dom": "^16.4.0",
  "react-scripts": "1.1.4"
},
 "scripts": {
     "start": "react-scripts start",
     "build": "react-scripts build",
     "test": "NODE_ENV=test jest",
     "eject": "react-scripts eject"
},
  "devDependencies": {
      "babel-jest": "^18.0.0",
      "babel-loader": "^6.4.1",
      "babel-plugin-transform-decorators-legacy": "^1.3.5",
      "enzyme": "^2.9.1",
      "jest": "^23.1.0",
      "react-addons-test-utils": "^15.6.2",
      "react-test-renderer": "^15.6.2",
      "redux-mock-store": "^1.5.1",
      "webpack": "^1.15.0",
      "webpack-dev-server": "^1.16.5"
  }
}