Я пытаюсь понять, как заставить Jest работать в моей среде, и у меня возникает проблема, когда в этом проекте есть куча пользовательских компонентов в подкаталоге в node_modules.
Я получаю эту ошибку:
FAIL src/mantle/tools/searchindexer/apps/DataMover/js/components/__test__/GenericJobsTable.test.jsx
● Test suite failed to run
/Users/rob/repos/mesa/ui/node_modules/iggy-common/components/IggyTable.jsx:1
({"Object.":function(module,exports,require,__dirname,__filename,global,jest){import React, {PropTypes} from "react";
^^^^^^
SyntaxError: Unexpected token import
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
at Object. (src/mantle/tools/searchindexer/apps/DataMover/js/components/JobsTable/GenericJobsTable.jsx:7:18)
at Object. (src/mantle/tools/searchindexer/apps/DataMover/js/components/__test__/GenericJobsTable.test.jsx:5:25)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 2.4s
Ran all test suites matching "GenericJobsTable".
Я запускаю jest ^20.0.3
и babel-jest ^20.0.3
в NodeJS 7.7.1.
В моем пакете .json это раздел конфигурации jest:
"jest": {
"verbose": true,
"transform": {
"^.+\\.jsx$": "babel-jest"
},
"moduleFileExtensions": [
"js",
"jsx"
],
"moduleDirectories": [
"node_modules"
]
}
У меня есть мой корень .babelrc
, который определяется как:
{
"presets": ["es2015", "react"]
}
Если я запустил jest --debug
, я вижу следующее:
{
"config": {
"automock": false,
"browser": false,
"cache": false,
"cacheDirectory": "/var/folders/wz/hd_hp8zn6gq7p6816w1hwx640000gn/T/jest_dx",
"clearMocks": false,
"coveragePathIgnorePatterns": [
"/node_modules/"
],
"globals": {},
"haste": {
"providesModuleNodeModules": []
},
"moduleDirectories": [
"node_modules"
],
"moduleFileExtensions": [
"js",
"jsx"
],
"moduleNameMapper": {},
"modulePathIgnorePatterns": [],
"name": "898fa528b40c10619090191345fdb241",
"resetMocks": false,
"resetModules": false,
"rootDir": "/Users/rob/repos/mesa/ui",
"roots": [
"/Users/rob/repos/mesa/ui"
],
"setupFiles": [
"/Users/rob/repos/mesa/ui/node_modules/regenerator-runtime/runtime.js"
],
"snapshotSerializers": [],
"testEnvironment": "jest-environment-jsdom",
"testMatch": [
"**/__tests__/**/*.js?(x)",
"**/?(*.)(spec|test).js?(x)"
],
"testPathIgnorePatterns": [
"/node_modules/"
],
"testRegex": "",
"testRunner": "/Users/rob/repos/mesa/ui/node_modules/jest-jasmine2/build/index.js",
"testURL": "about:blank",
"timers": "real",
"transform": [
[
"^.+\\.jsx$",
"/Users/rob/repos/mesa/ui/node_modules/babel-jest/build/index.js"
]
],
"transformIgnorePatterns": [
"/node_modules/"
]
},
"framework": "jasmine2",
"globalConfig": {
"bail": false,
"coverageReporters": [
"json",
"text",
"lcov",
"clover"
],
"expand": false,
"mapCoverage": false,
"noStackTrace": false,
"notify": false,
"projects": [
"/Users/rob/repos/mesa/ui"
],
"rootDir": "/Users/rob/repos/mesa/ui",
"testPathPattern": "",
"testResultsProcessor": null,
"updateSnapshot": "new",
"useStderr": false,
"verbose": true,
"watch": false,
"watchman": true
},
"version": "20.0.3"
}
Любая идея, что я мог бы неправильно сконфигурировать здесь?