2016-08-09 10 views
0

私はユニットテストとコードカバレッジの作成にJasmineとKarmaを使用しています。私は、すなわち_reports/HTML-から、私は生成されたHTML結果ファイルを読みたいVSで2015更新3MSBuildでjavascripts unitのコードカバレッジをテストする

var gulp = require("gulp"); 
 
var Server = require('karma').Server; 
 
var remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul'); 
 

 
gulp.task('unit-tests', function (done) { 
 
    new Server({ 
 
     configFile: __dirname + '/karma.conf.js' 
 
    }, done).start(); 
 
}); 
 

 
gulp.task('code-coverage', function() { 
 
    return gulp.src('_reports/coverage-javascript.json') 
 
     .pipe(remapIstanbul({ 
 
      reports: { 
 
       'json': '_reports/coverage-typescript.json', 
 
       'html': '_reports/html-report' 
 
      } 
 
     })); 
 
});

をがぶ飲みを使用してタスクを作成し、タスクランナーエクスプローラを介してそれらを実行していますGated BuildsまたはNightlyビルド中にreport/index.htmlファイル。コードカバレッジが80%を下回った場合やテストが失敗した場合にビルドを停止するような特定のアクションを実行するために、このコードカバレッジを使用したいと思います。

どうすればいいですか?

+0

ゲットビルドやナイトリービルド中にgulp-msbuild(https://www.npmjs.com/package/gulp-msbuild)を実行し、gulpタスクを実行することができます。 –

+0

@ s09:gulp-msbuildを確認しましたが、これは私の目的には役立ちません。私はすでにmsbuildの設定をテストして作業しています。私はそれらに麻薬のタスクを統合する必要があります。 –

答えて

0

単体テストに失敗した場合にMSBuildが失敗するソリューションを実装しました。基本的には、'CompileTypeScript'ターゲットの後に実行されるproject.csprojファイルにカスタムターゲットを書きました。

​​3210

Visual StudioはJSにTSをコンパイルした後、このタスクは実行されます。ビルドサーバで 'Path'変数が 'gulp'に設定されていないため、node_modules .binフォルダにコマンドを渡すのはそのためです。

関連する問題