问题标签 [remap-istanbul]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
865 浏览

typescript - 使用 remap-istanbul + browserify + source maps 生成 TypeScript 代码覆盖率报告时出错

我收到以下错误:

尝试将其转换coverage-remapped.json为 HTML 报告时。

以下描述了我的文件:

/bundle/test/CPIC.test.js

CPIC.test.js使用 Browserify + Uglify 创建的 UMD 模块:

/bundle/test/CPIC.test.js.map

的内容CPIC.test.js.map

/coverage/PhantomJS 1.9.8 (Windows 7 0.0.0)/coverage-final.json

coverage-final.json文件:

/coverage/coverage-remapped/coverage-final.json

coverage-final.json(重新映射的)文件的内容:

文件中的路径/coverage/coverage-remapped/coverage-final.json错误:

它应该是(注意删除test文件夹):

我不确定应该增加多少父文件夹:

捆绑的文件及其源映射工作正常,但重映射覆盖率却不行。

我猜这是因为源映射文件不使用绝对或相对路径:

但我不确定如何解决它。有任何想法吗?

更新

生成/coverage/coverage-remapped/coverage-final.json文件的 gulp 任务:

0 投票
0 回答
1260 浏览

webpack - webpack configuration for coverage with remap-istanbul

I've already made setup for typescript+babel(stage-1+react) project with mocha tests + istanbul coverage. Mocha is configured this way: webpack builds commonjs bundles in tmp directory with istanbul-instrumenter-loader. Entry points are files that match ./**/*.spec.(t|j)sx?, jsx? loader looks like:

#xA;

where source-map-loader is my module that just writes sourceMap, that is passed to the loader, to the [file base name].map(e.g. app.js.map) files for each bundle file. After the build is done I run gulp task for mocha which adds all this bundles to mocha runner, starts tests and after it collect coverage info.

Yesterday I've found remap-istanbul project and have tried to configure it. You can look at coverage report module with remap added here. It is always failes with this output:

#xA;

I tried debugging test run and coverage collection, but couldn't figured out why it has broken file path, I guess it is because of webpack's sourcemap.

0 投票
1 回答
308 浏览

angularjs - 配置 remap-istanbul 以包含所有源文件

我正在使用 Angular 2 和 TS 配置在 Ionic 2 上开发的应用程序,以生成为我的测试文件生成的代码覆盖率报告。我正在使用 Jasmine 、 Karma 和 remap-istanbul 进行单元测试并生成覆盖率报告。

参考这篇精彩的帖子:twofuckingdevelopers.com/2016/01/testing-angular-2-with-karma-and-jasmine/

但是,我无法列出没有为它们编写的规范文件的文件。有没有办法在伊斯坦布尔报告中包含相同内容并相应地生成整体覆盖范围。

谢谢你!!!

0 投票
1 回答
210 浏览

typescript - Angular2 Qunit 代码覆盖率

是否有任何方便的代码覆盖率测量工具/框架,我可以轻松地将其用于测量 Angular2-TypeScript 代码的代码覆盖率以及用 QUnit 编写的测试?

我看到很少有这样的框架,如remap-istanbul毯子.js等,但这些框架在来自 Angular2 库(例如 angular2/core 或 @angular/core)的所有导入语句中抛出异常

0 投票
1 回答
336 浏览

javascript - 使用打字稿和 babel 时重新映射伊斯坦布尔

我正在尝试使用 remap istanbul 来获取我的 TypeScript 项目的代码覆盖率。但是,因为我使用的是 async/await 并且 TypeScript 还不支持将该代码转换为 ES5,所以我也使用 Babel 来完成这项工作。所以基本上我的打字稿代码由 TypeScript 编译器转译为 ES6,然后使用 Babel 转译为 ES5。

现在,当我尝试生成覆盖率报告时,它无法加载由 TypeScript 生成的 JavaScript 文件,因为该文件从未创建过(因为我正在使用 gulp 并且直接通过管道传输)。设置它的最佳方法是什么?

0 投票
0 回答
1069 浏览

angular - 伊斯坦布尔报告找不到源地图

尝试创建伊斯坦布尔报告(angular2-cli 应用程序)时,出现以下错误

这是我跑步的时候npm run posttest。这在下面我的 package.json 中有说明。

下面我将显示我的karma.conf.js文件

谢谢!

0 投票
1 回答
428 浏览

gruntjs - Grunt、Istanbul、Isparta 和 TypeScript

TL;博士

有没有人使用 Grunt 和 Jasmine 成功生成覆盖率报告?

很长的故事:

我有一些用 Jasmine 编写的测试,我想为此生成一些覆盖率信息。为了通用,我实际上使用了 grunt-istanbul,它允许检测器(如 isparta)检测我的代码,然后生成报告。然而,这份报告是基于转译的代码(因此在 JavaScript 中)。

然后我遇到了 istanbul remap,它查看由 TypeScript 编译器生成的地图文件,并将结果基于此;但是,我的仪器在转译代码中添加了一些代码,这意味着我的地图文件不再匹配。至少,这是我的猜测,正如 istanbul-remap 所说:

错误:找不到源映射:“src/server/modules/service.js”

这是我的 grunt 配置的一部分:

0 投票
1 回答
693 浏览

angular - 如何衡量打字稿编写的e2e测试的代码覆盖率?

我有一个 angular2 项目,它使用 Protractor 进行 e2e 测试。测试文件是在 Jasmine 框架下用 typescript 编写的。

是否可以从这种 e2e 测试中获取代码覆盖率数据?

0 投票
4 回答
2258 浏览

javascript - 错误:在 Angular2、Karma、Webpack 和伊斯坦布尔中找不到源地图

我正在尝试TypeScript使用karma-remap-istanbul插件生成文件的覆盖率报告。

我的测试用例被 karma 成功执行,但是当 karma-remap-istanbul 尝试生成覆盖率报告时,它会抛出以下错误:

我的配置文件如下:

业力.conf.js

webpack.test.js

包.json

任何形式的帮助将不胜感激。

0 投票
1 回答
231 浏览

webpack - 重新映射伊斯坦布尔不正确的覆盖率报告

使用 typescript运行react redux 应用程序时,当使用 istanbul-remap运行karma webpack 以映射回 typescript 源代码时,我会得到不正确的覆盖结果。

例如,我向反应单元测试添加了一个更改,使代码不再进入mapStateToPropsmapDispatchToProps(忽略 redux 流程)。不使用 remap 我得到正确的覆盖率减少,如下所示:

正确覆盖减少

使用 remap 我得到不正确的覆盖结果:

错误的覆盖结果