相关疑难解决方法(0)

使用Jest和React并导入CSS文件的SyntaxError

我想让我的第一个Jest Test通过React和Babel.

我收到以下错误:

SyntaxError:/Users/manueldupont/test/avid-sibelius-publishing-viewer/src/components/TransportButton/TransportButton.less:意外的令牌

    >  7 | @import '../variables.css';
          | ^
Run Code Online (Sandbox Code Playgroud)

我的package.json配置为jest看起来像这样:

"babel": {
    "presets": [
      "es2015",
      "react"
    ],
    "plugins": [
      "syntax-class-properties",
      "transform-class-properties"
    ]
  },
  "jest": {
    "moduleNameMapper": {
      "^image![a-zA-Z0-9$_-]+$": "GlobalImageStub",
      "^[./a-zA-Z0-9$_-]+\\.png$": "RelativeImageStub"
    },
    "testPathIgnorePatterns": [
      "/node_modules/"
    ],
    "collectCoverage": true,
    "verbose": true,
    "modulePathIgnorePatterns": [
      "rpmbuild"
    ],
    "unmockedModulePathPatterns": [
      "<rootDir>/node_modules/react/",
      "<rootDir>/node_modules/react-dom/",
      "<rootDir>/node_modules/react-addons-test-utils/",
      "<rootDir>/node_modules/fbjs",
      "<rootDir>/node_modules/core-js"
    ]
  },
Run Code Online (Sandbox Code Playgroud)

那我错过了什么?

babel reactjs jestjs

36
推荐指数
6
解决办法
1万
查看次数

Jest给出了一个错误:"SyntaxError:意外的令牌导出"

我正在使用Jest来测试我的React应用程序.

最近,我将DeckGL添加到了我的应用程序中.我的测试因此错误而失败:

Test suite failed to run

/my_project/node_modules/deck.gl/src/react/index.js:21
export {default as DeckGL} from './deckgl';
^^^^^^

SyntaxError: Unexpected token export

  at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:318:17)
  at Object.<anonymous> (node_modules/deck.gl/dist/react/deckgl.js:9:14)
  at Object.<anonymous> (node_modules/deck.gl/dist/react/index.js:7:15)
Run Code Online (Sandbox Code Playgroud)

这似乎是Jest在运行它的测试之前转换节点模块的问题.

这是我的.babelrc:

{
  "presets": ["react", "es2015", "stage-1"]
}
Run Code Online (Sandbox Code Playgroud)

这是我的开玩笑设置:

"jest": {
    "testURL": "http://localhost",
    "setupFiles": [
      "./test/jestsetup.js"
    ],
    "snapshotSerializers": [
      "<rootDir>/node_modules/enzyme-to-json/serializer"
    ],
    "moduleDirectories": [
      "node_modules",
      "/src"
    ],
    "moduleNameMapper": {
      "\\.(css|scss)$": "<rootDir>/test/EmptyModule.js"
    }
  },
Run Code Online (Sandbox Code Playgroud)

我似乎有正确的事情需要改造export {default as DeckGL }.所以任何想法都会出错?

jestjs

9
推荐指数
7
解决办法
1万
查看次数

标签 统计

jestjs ×2

babel ×1

reactjs ×1