1

だから私はjspmとbabelを使ってAngular 1.3 es6プロジェクトをセットアップしています。es6のインポート/エクスポート機能を使用しています。karma と karma-jspm がインストールされており、基本的なテストを問題なく実行できます。モジュールの 1 つをテストにインポートしてテストしようとすると、カルマでエラーが発生します。

Error loading "app/services/chart-data/chart-data.spec" at http://localhost:9876/base/app/services/chart-data/chart-data.spec.js Error loading "npm:babel-core@5.3.3" at http://localhost:9876/base/jspm_packages/npm/babel-core@5.3.3.js Error evaluating http://localhost:9876/base/jspm_packages/npm/babel-core@5.3.3.js Error evaluating http://localhost:9876/base/jspm_packages/npm/babel-core@5.3.3/browser.js TypeError: 'undefined' is not a function (evaluating 're.test.bind(re)') at undefined

そして、ここに私のカルマ設定ファイルの一部があります:

frameworks: ['jspm', 'jasmine'],


// list of files / patterns to load in the browser
files: [
],

jspm: {
  // Edit this to your needs
  loadFiles: ['app/**/*.spec.js'],
  serveFiles: []
},

そして、これはテストの例です:

import {chartData} from 'chart-data.service';

describe('Example test', function() {
  it('should be foo', function() {
      expect('foo').toBe('foo');
  });
});

答えを探すのに運がなく、jspm gitterで助けを求めたことさえありましたが、これまでのところ何も見つかりませんでした.

プロジェクトの他のすべては正常に動作しているようで、インポート行を削除すればテストを実行できます。どんな助けや提案も大歓迎です。

4

1 に答える 1

0

をサポートしていないブラウザでテストを実行しているようですFunction.prototype.bind。Babel にはこの機能が必要です。

karma-phantomjs-shimで修正するか、新しいバージョンのブラウザーを試すことができます。バージョン 2.0 以降、PhantomJS にはこの機能があります。

于 2015-06-06T15:07:52.483 に答える