1

我所有的测试都运行并成功通过。但是我不断获得 0% 的覆盖率,或者通过 SystemJS 启动测试及其源文件的 karma-test-shim.js 的覆盖率。我也尝试过以各种方式使用 karma-coverage 作为预处理器,有时它预处理 spec.ts 文件,有时是 ts 文件,有时是 app 目录,有时是 js 文件或 spec.js 文件。我使用 Electron 浏览器在 karma-test-shim.js 文件中加载 require shim,因为这是一个使用 fs、path 等节点模块进行大量系统级操作的应用程序。我使用 SystemJS 作为应用程序和测试(没有 Webpack!)。

这个测试设置,减去 Electron 浏览器和需要 shim,与我的设置类似: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 
    })
}
4

0 回答 0