Karma,覆盖率报告与webpack相结合

时间:2016-09-19 10:30:20

标签: webpack karma-runner karma-coverage

我设置了karma以及正在运行的覆盖工具 - 但是当我也使用webpack时,覆盖率报告正在使用webpack创建的捆绑代码。

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

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

如果我要么移除webpack部分或者以相反的方式放置数组(['coverage','webpack']),它就会失败。

所以,我不确定如果没有webpack并且编译了TS,那么我所追求的是否可行 - > JS文件将无法通过测试。它有点像我想分两步完成报告。

  1. 针对捆绑的代码运行测试并报告回来。
  2. 检查已运行的测试并与非捆绑文件进行比较,以获得准确的覆盖率报告。
  3. 如果它对任何答案产生影响,我也会使用Jasmine作为框架。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

花了一段时间 - 但我找到了一个很好的例子,可以解决我想要的和我想要的事情。 https://github.com/AngularClass/angular2-webpack-starter 这就是打字稿,业力,覆盖范围和的WebPack。

另外 - https://angularclass.github.io/angular2-webpack-starter/

相关问题