Angular 2 + Karma-JSPM + TypeScript源码& Jasmine Spec无法设置测试覆盖率

时间:2016-02-17 12:48:02

标签: angularjs typescript code-coverage karma-runner jspm

我有一个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问题上提到过这个问题,但除了找到一个' instrumentor'之外,没有提到真正的解决方案。对于可以读取TypeScript但并不真正理解的coverageReporter。

完整的当前代码(无覆盖率)为here

编辑:我还找到this on stackoverflow,但它似乎没有帮助。

0 个答案:

没有答案