7

Browserify、6to5ify、および Karma を使用してうまくプレイし、スペックを正常に実行しています。しかし、コード カバレッジを追加すると、状況は悪化します。私はいくつかのアプローチを試しました:

  • browserify-istanbulkarma.conf.js に変換を追加します。ただし、これにより、スペックファイルでインストルメンテーションを実行しようとするだけでなく、表示されます。
  • coverageソース ファイルに対してプリプロセッサを実行します。しかし、イスタンブール (でも) は私のbrowserify 変換をdouglasduteil/karma-coverage#next読み取らないため、(ステートメントのために) 解析しようとする最初のファイルですぐにクラッシュするか、または karma-coverage#next を使用すると、マッピングを尊重しません私のpackage.json(モバイルプロジェクト、バックボーンを外骨格にマッピング)。6to5ifyimportbrowser

今、私のkarma.conf.js見た目は次のようになります。

module.exports = function(karma){
  karma.set({
    frameworks: ["browserify", "mocha", "chai-sinon"],
    browserify: {
      debug: true,
      extensions: [".js", ".hbs"],
      transform: ["6to5ify", "hbsfy"]
    },
    reporters: ["dots", "osx", "junit", "coverage"],
    coverageReporter: {
      type: "text"
    },
    junitReporter: {
      outputFile: "spec/reports/test-results.xml"
    },
    preprocessors: {
      "src/javascript/**/*": ["coverage"],
      "spec/**/*": ["browserify"]
    },
    browsers: ["PhantomJS"],
    files: ["spec/unit/**/*Spec.js"],
    logLevel: "LOG_DEBUG",
    autoWatch: true
  });
};

これをすべて一緒に機能させる方法がわかりません。これらの指示browserに従ってみましたが、 のノードに従わなかったため、うまくいきませんでしたpackage.json。どんな助けでも大歓迎です。

4

1 に答える 1