2017-10-21 11 views
1

私は嫌いです。円CIでエラーが発生しました。私のsetup.jsファイルにはES6の構文があります。 setupTestFrameworkScriptFileのファイルは、テストが実行されるたびに実行されるので、私はES6構文を使うことができると思っていましたが、バベルゲストはそれを翻訳しません。反応成分の単体テストなどの定期的な試験が行われます。ローカル環境では、セットアップファイルがトランスポートされます。Jest setupTestFrameworkScriptFileまたはsetupFiles ES6の構文

SyntaxError: Unexpected token { 

     at ScriptTransformer._transformAndBuildScript (node_modules/jest/node_modules/jest-cli/node_modules/jest-runtime/build/script_transformer.js:305:17) 
     at Object.<anonymous> (test/setup.js:1:869) 
     at next (native) 

My Jest設定ファイルは次のようになります。

{ 
    "verbose": true, 
    "transform": { 
    "^.+\\.(js|jsx)$": "babel-jest" 
    }, 
    "transformIgnorePatterns": [ 
    "node_modules/(?!my-module)" 
    ], 
    "snapshotSerializers": [ 
    "jest-serializer-enzyme" 
    ], 
    "setupTestFrameworkScriptFile": "<rootDir>/test/setup.js", 
    "globals": { 
    "__PROD__": false, 
    "__STG__": false 
    }, 
    "moduleDirectories": [ 
    "node_modules" 
    ], 
    "testRegex": "(/__tests__/.*|__test__.js)$", 
    "moduleFileExtensions": [ 
    "css", 
    "jsx", 
    "js", 
    "scss", 
    "svg" 
    ], 
    "moduleNameMapper": { 
    "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test/fileMock.js", 
    "^.+\\.(css|less|scss)$": "<rootDir>/test/styleMock.js" 
    } 
} 

設定がありませんか?

+0

どのようにテストを実行していますか?最新のNodeバージョンはES6をネイティブにサポートしています(モジュール構文はもちろんです)。 –

答えて

1

Jestは、蒸散ステップによってsetup.jsスクリプトをプッシュしません。 Jestはあなたのテストコードを翻訳し、次に蒸散せずにセットアップスクリプトを実行し、テストコードを実行します。ちょうどそれをES5の構文で書くとうまくいくでしょう。

関連する問題