我已经设置了 karma 以及正在工作的覆盖率工具 - 但由于我也在使用 webpack,所以覆盖率报告使用的是 webpack 创建的捆绑代码。
例如:我有一个包含外部库的 Typescript 文件,因此为了让该文件运行它需要 webpack。然后 Webpack 将该文件包含到已编译的 JS 中。这意味着当我得到覆盖率报告时,它的百分比很低,因为我没有测试现在已经包含的外部文件。
preprocessors: {
'./src/**/*.ts': ['webpack', 'coverage']
},
如果我删除 webpack 部分或以其他方式放置数组 (['coverage', 'webpack']) 它会失败。
所以,我不确定我所追求的是否可能,因为没有 webpack 和编译的 TS -> JS 文件将无法通过测试。这有点像我希望分两步完成报告。
- 针对捆绑的代码运行测试并返回报告。
- 检查运行的测试并与非捆绑文件进行比较以获得准确的覆盖率报告。
如果它对任何答案都有影响,我也在使用 Jasmine 作为框架。