2017-10-06 11 views
0

に構文エラーが、私はテストでナイトウォッチフレームワークVue.js e2eテストでモジュールをインポートできますか?輸入

を使用して、私のE2Eテストを実行している、私はブラウザを確認する必要があるconfig.jsからエクスポートされた定数として設定し、定義された初期値にリセットする値を表示しましたファイル

しかし、私はSYNTAXエラーを受け取りますか?

Starting selenium server... started - PID: 49634 
There was an error while starting the test runner: 
../test/e2e/specs/test.js:4 
import { WORKING_TIME } from '@/config'; 
^^^^^^ 
SyntaxError: Unexpected token import at createScript (vm.js:74:10) 
    at Object.runInThisContext (vm.js:116:10) 
    at Module._compile (module.js:537:28) 
    at loader (../node_modules/babel-register/lib/node.js:144:5) 
    at Object.require.extensions.(anonymous function) [as .js] (/../node_modules/babel-register/lib/node.js:154:7) 
    at Module.load (module.js:507:32) 
    at tryModuleLoad (module.js:470:12) 
    at Function.Module._load (module.js:462:3) 
    at Module.require (module.js:517:17) 
    at require (internal/module.js:11:18) 

config.jsの

let coeff = process.env.NODE_ENV === 'testing' ? 0.5 : 1 
export const WORKING_TIME = coeff * 60 

E2E/test.js

import { WORKING_TIME } from '@/config' 

module.exports = { 
    'check STOP event': (browser) => { 
    const devServer = browser.globals.devServerURL 
    browser.url(devServer).waitForElementVisible('#app', 5000) 
    browser.click('[title=start]').waitForElementVisible('i.toggle-volume', 5000) 

    // CLICK on STOP button 
    browser.click('[title=stop]').pause(1000) 
    ... 
    // Check timer is reset 
    const leftPad = (str, length = 10) => { 
     return `${' '.repeat(length)}${str}` 
    } 
    const min = Math.floor(WORKING_TIME/60) 
    const sec = WORKING_TIME % 60 
    const initialTimer = leftPad(min, 2) + ':' + leftPad(sec, 2) 
    browser.expect.element('.my-timer').text.to.equal(initialTimer) 
    browser.end() 
    } 
} 
+0

あなたはES6で問題があるようです。 バベル – OmranAbazid

+0

のおかげでOmran!を使ってテストを実行する前に、今すぐそれを得ました、あなたは私をトラックに入れました..私の答えを見てください – erwin

答えて

0

@Omranが述べたように、私は... ES6の蒸散wが

を問題を抱えていました1 - 前に挿入する必要がありますインポート(とも正しいパスを書く...)

E2E/test.js

require('babel-core/register') 
import { WORKING_TIME } from '../../../config' 

2 - E2Eテストrunner.jsが設定されています

process.env.NODE_ENV = 'testing' 

を私は追加する必要がありますそれに.babelrc

{ 
    "presets": [ 
    ["env", { 
     "modules": false, 
     "targets": { 
     "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 
     } 
    }], 
    "stage-2" 
    ], 
    "plugins": ["transform-runtime"], 
    "env": { 
    "test": { 
     "presets": ["env", "stage-2"], 
     "plugins": ["istanbul"] 
    }, 
    "testing": { 
     "presets": ["env", "stage-2"], 
     "plugins": ["istanbul"] 
    } 
    } 
} 
.babelrc
関連する問題