2016-08-11 2 views
0

私のAngular 2 appディレクトリに、すべてのコンポーネントとともに、私はjavascriptユニットテストスクリプトを持っています。それらはrequire()異なるクラスとangular2/coreモジュールですが、require()はブラウザでは許可されていないため、Karmaでテストすることはできません。私はSystemJSモジュールバンドラを使用していますが、テストを実行するときバンドルを作る方法を知らない。ユニットテストスクリプトをAngular 2にバンドルするにはsystemJSを使用するには?

マイkarma.conf.jsファイル:

module.exports = function(config) { 
    config.set({ 

     basePath: '', 

     frameworks: ['jasmine'], 

     files: [ 
      'app/**/*.spec-compiled.js' 
     ], 


     exclude: [ 
     ], 

     preprocessors: { 
     }, 

     reporters: ['progress'], 

     port: 9876, 

     colors: true, 

     logLevel: config.LOG_INFO, 

     autoWatch: true, 

     browsers: ['Chrome'], 


     singleRun: false, 

     concurrency: Infinity 
    }) 
} 
+0

なぜあなたは生産で決して動かないものを束ねていますか?あなたの "imports"を実行するだけで、システムはモジュールをオンザフライでロードします(一度に1つずつ)。 – vidalsasoon

+0

Em、私のテストを実行するには? SystemJSは、typescript/ES6 Angular 2モジュールのみをロードします。私はまだ単体テストを動作させることができません。 –

答えて

0

私は似たような状況にいると私は、バンドルを構築するためにバレルを使用しています。

私のバレルは、SRC /テスト/ index.ts、その基本的に再輸出すべてのテストである:その時点で

export * from '../about/about.spec'; 
export * from './core/components/dropdown.spec'; 
export * from './core/models/session.spec'; 
export * from './core/models/user.spec'; 
export * from './core/models/version.spec'; 
export * from './core/services/simple-user-service.spec'; 
export * from './admin/simple-user-list.spec'; 
... 

、私はSRC /テスト/ index.tsをバンドルし、それが自動的にすべての必要を引っ張ります依存関係。

関連する問題