2017-05-18 1 views
10

나는 내 환경에서 Jest를 작동시키는 법을 알아 내려고하고 있는데,이 프로젝트는 node_modules 내의 하위 디렉토리에 커스텀 컴포넌트를 가지고있다. 내가 NodeJS 7.7.1에 jest ^20.0.3babel-jest ^20.0.3를 실행 해요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 --debug 내가 실행하는 경우



    { 
     "presets": ["es2015", "react"] 
    } 

:



     "jest": { 
     "verbose": true, 
     "transform": { 
      "^.+\\.jsx$": "babel-jest" 
     }, 
     "moduleFileExtensions": [ 
      "js", 
      "jsx" 
     ], 
     "moduleDirectories": [ 
      "node_modules" 
     ] 
     } 

내 루트 .babelrc과 같이 정의했다 : 내 package.json에서

, 이것은 내가 가지고있는 농담 구성 섹션



    { 
     "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" 
    } 

내가 여기 잘못 구성했을 수 있습니다.

+0

, 그것은 보인다 문제는 node_modules /이기의 예약-님이 그 성가신 파일의 하나 인 일반 팔자 'JS 파일이 필요 transpilation했다 감아 node_modules 디렉토리 밑에 아무것도 옮겨서는 안된다. 그러나 나는 node_modules/iggy-common 아래에서 아무 것도 쓸 수 없기를 바란다. –

답변

16

SOLVED !!!!! 농담 - 바벨에 문제가있을 수 있어야합니다 같은

내가 수집 무엇부터

    "jest": { 
    "verbose": true, 
    "transform": { 
     "^.+\\.jsx$": "babel-jest", 
     "^.+\\.js$": "babel-jest" 
    }, 
    "moduleFileExtensions": [ 
     "js", 
     "jsx" 
    ], 
    "moduleDirectories": [ 
     "node_modules" 
    ], 
    "transformIgnorePatterns": [ 
     "node_modules/(?!iggy-common)" 
    ]  
    }