2016-11-23 10 views
0

現在作業中の小さなNodeJS APIの単体テスト環境を設定しようとしています。 このAPIはES6で書かれており、要求を処理するためにexpressを使用しています。karma webpack express ES6を設定するときに 'error'という名前のパラメータを宣言できません

私がこれまで使用してきたテスト構造:

  • カルマ
  • ジャスミン
  • カルマ-のWebPACK
  • バベル・ローダー

それは私のほとんどのために正常に動作します仕様。

SyntaxError: Cannot declare a parameter named 'error' in strict mode 

ものは、私が使用していますファイルです:

カルマ

問題は、私は(エクスプレス)からルータの仕様を記述しようとすると、私は次のエラーを取得するということです。 conf.js

module.exports = function(config) { 
    config.set({ 
     browsers: ['PhantomJS'], 
     files: [{ 
       pattern: './src/**/*.spec.js', 
       watched: false 
      }, 
      'node_modules/babel-polyfill/dist/polyfill.js' 
     ], 
     reporters: ['dots', 'growl'], 
     frameworks: ['jasmine'], 
     preprocessors: { 
      './src/**/*.js': ['webpack'] 
     }, 
     webpack: { 
      target: 'node', 
      module: { 
       loaders: [{ 
        test: /\.js/, 
        exclude: /node_modules/, 
        loader: "babel-loader" 
       }, { 
        test: /\.json$/, 
        loader: "json-loader" 
       }] 
      }, 
      resolve: { 
       extensions: ['', '.js', '.json'] 
      }, 
      watch: true 
     }, 
     webpackServer: { 
      noInfo: true, 
      stats: 'errors-only' 
     } 
    }); 
}; 

authRouter.js

import {Router} from 'express'; 

export class AuthRouter { 
    constructor() { 
    this.router = Router(); 
    this.init(); 
    } 

    init() { 
    this.router.post('/login', this.login); 
    this.router.get('/logout', this.logout); 
    } 

    login(req, res){ 
    //Do stuff 
    } 

    logout(req, res){ 
    // Do stuff 
    } 
} 

const authRoutes = new AuthRouter(); 
authRoutes.init(); 

export default authRoutes.router; 

authRouter.spec.js

import {AuthRouter} from './AuthRouter'; 

describe('AuthRouter',() => { 
    let router; 
    beforeEach(() => { 
    router = new AuthRouter(); 
    }); 

    it('work this test :(',() => { 
    expect(true).toBe(true) 
    }); 
}); 

誰かが私を助けることができますか?私の意見では、事前

答えて

0

おかげで、PhantomJSは、ジャバスクリプトによって仮想ブラウザではありませんNode.js.

ブラウザでノードサーバーを実行すると、テストを行う適切な方法ではありません。

多分あなたは純粋なモカでAPIテストを書くことができます。

テストコードにバーベル変換が必要な場合は、必要になる可能性があります。

mocha --compilers js:babel-core/register --recursive 
関連する問題