Karma,覆盖报告结合webpack



我已经将karma与正在工作的覆盖率工具一起设置好了——但是由于我也在使用webpack,覆盖率报告使用的是webpack创建的捆绑代码。

例如

:我有一个Typescript文件,它包含一个外部库,所以为了让这个文件运行,它需要webpack。然后Webpack将该文件包含到编译后的JS中。这意味着当我得到覆盖率报告时,它的百分比很低,因为我没有测试现在包含的外部文件。

preprocessors: {
            './src/**/*.ts': ['webpack', 'coverage']
        },

如果我删除webpack部分或将数组反过来放置(['coverage', 'webpack']),它将失败。

所以,我不确定我所追求的是否可能,因为没有webpack和编译的TS -> JS文件将无法通过测试。这有点像我希望分两步完成报告。

  1. 针对捆绑的代码运行测试并返回报告。
  2. 检查已运行的测试,并与未捆绑的文件进行比较,以获得准确的覆盖率报告。

如果它对任何答案都有影响,我也使用Jasmine作为框架。

你可以尝试使用https://github.com/deepsweet/istanbul-instrumenter-loader来解决你的问题,一个webpack加载器从非捆绑的源js文件生成覆盖率报告。

但是插件不支持es6,你可以参考问题#33找到合适的解决方案

花了一段时间-但我找到了一个很好的例子,与我想要的和我想要的。https://github.com/AngularClass/angular2-webpack-starter这包括Typescript, Karma, Coverage &;Webpack。

Also - https://angularclass.github.io/angular2-webpack-starter/

最新更新