すべてのテストが実行され、正常に合格します。しかし、0% のカバレッジ、または SystemJS を介してテストとそのソース ファイルを起動する karma-test-shim.js のカバレッジを取得し続けています。私はさまざまな方法で karma-coverage をプリプロセッサとして使用しようとしましたが、spec.ts ファイル、ts ファイル、app ディレクトリ、js ファイルまたは spec.js ファイルを前処理する場合もあります。私は Electron ブラウザーを使用して karma-test-shim.js ファイルに require shim をロードします。これは、fs やパスなどのノード モジュールを使用したシステム レベルの操作が多数あるアプリであるためです。アプリには SystemJS を使用し、テスト (Webpack なし!)。
このテスト セットアップから、Electron ブラウザと必要なシムを除いたものは、私のセットアップと似ています: https://github.com/angular/quickstart/blob/master/karma.conf.js
これが私の karma.conf.js ファイルです。
module.exports = function(config) {
config.set({
basePath: 'src/', // all the files in the files config parameter, are searched for relative to this path
frameworks: ['jasmine'],
files: files, // this has all files needed
reporters: ['spec', 'coverage'], //report to console
port: 9876,
colors: true,
browsers: ['Electron'],
singleRun: true
})
}