Angularjs 角度2+;Karma JSPM+;TypeScript源代码&;Jasmine规范无法设置测试覆盖率

Angularjs 角度2+;Karma JSPM+;TypeScript源代码&;Jasmine规范无法设置测试覆盖率,angularjs,typescript,code-coverage,karma-runner,jspm,Angularjs,Typescript,Code Coverage,Karma Runner,Jspm,我有一个Angular 2项目设置,目前使用SystemJS+JSPM+frankwallis/plugin typescript动态加载我的typescript文件,以实现快速简单的开发工作流。我还使用Karma JSPM设置了Karma+Jasmine基本测试,所以我不会重复同样有效的配置 我遇到的问题(实际上不知道是否可能)是我无法设置这些文件的覆盖范围,因为文件没有进行物理传输(JSPM和frankwallis/plugin typescript loader负责此问题),覆盖预处理器部

我有一个Angular 2项目设置,目前使用SystemJS+JSPM+frankwallis/plugin typescript动态加载我的typescript文件,以实现快速简单的开发工作流。我还使用Karma JSPM设置了Karma+Jasmine基本测试,所以我不会重复同样有效的配置

我遇到的问题(实际上不知道是否可能)是我无法设置这些文件的覆盖范围,因为文件没有进行物理传输(JSPM和frankwallis/plugin typescript loader负责此问题),覆盖预处理器部分由于无法读取typescript或其他内容而失败

karma.conf.js

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

    basePath: './src',

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

    jspm: {
      loadFiles: [
        'app/**/*.spec.ts'
      ],
      serveFiles: [
        'app/**/*!(*.spec).ts',
        'typings/**/*.*',
        'tsconfig.json'
      ]
    },

    preprocessors: {
      // Throws errors about unexpected token / not a string or buffer
      //'app/**/*!(*.spec).ts': ['coverage'] 
    },

    ... other parts removed for brevity

    plugins: [
      'karma-jasmine',
      'karma-jspm',
      'karma-coverage',
      'karma-chrome-launcher'
    ],

    coverageReporter: {
      reporters: [
        { type: 'json', subdir: '../../coverage', file: 'coverage-final.json' }
      ]
    },

  })
}
在四处搜索时,我看到人们在Karma JSPM github问题上提到了这一点,但除了为coverageReporter找到一个“工具器”之外,没有提到任何真正的解决方案,该工具可以阅读打字稿,但并不真正理解

完整的当前代码(无覆盖范围)为


编辑:我也找到了,但似乎没有什么帮助。

你有没有用过这个,我也在努力让
karma jspm
karma coverage
配合得很好。。。。