问题标签 [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 回答
652 浏览

tdd - JaCoCo 是否可以配置为显示每行代码有多少测试?

我可以配置 JaCoCo 以输出覆盖每行代码的测试数量(就像伊斯坦布尔代码覆盖如何与 Karma 测试运行器一起工作)

伊斯坦布尔 + 业力 (JavaScript):(注意左边距中的数字......那是有多少测试覆盖了那条线)

伊斯坦布尔 + Karma 生成的代码覆盖率

JaCoCo(Java):

JaCoCo 生成的代码覆盖率

我的伊斯坦布尔设置是 Grunt, Karma(基本上是 Yeoman AngularJS 模板)

我的 JaCoCo 设置是一个 Android 项目。目前基本上是这样的:https ://github.com/nenick/android-gradle-template

0 投票
3 回答
2871 浏览

code-coverage - Ember CLI 和代码覆盖率

有没有人设法通过 Ember CLI 项目获得代码覆盖率?

我已经尝试过使用毯子.jsistanbul这里这里这里的其他人也尝试过,但都没有成功。我已经设法让每个人实际生成一份覆盖率报告,但报告要么是 0%(伊斯坦布尔)要么是 100%(blanket.js),而且当前的测试不可能提供 100% 的覆盖率。

Ember CLI 生成的已构建项目 JavaScript 文件包含项目的所有源文件,每个文件的内容都输出到一个(有时是大量的)行上。因此,即使覆盖率工具能够为构建文件中的代码生成实际的覆盖率指标,也存在查看结果的问题。只有上帝知道您如何将其链接回原始源文件?

Ember CLI 很棒而且看起来很受欢迎,所以我很惊讶更多的人没有遇到这个问题。也许其他人不会被代码覆盖率困扰,或者大多数人只是让它毫无问题地工作,而我错过了一些东西。

0 投票
1 回答
119 浏览

code-coverage - 是否可以更改业力覆盖报告的标题?

我正在开发一个有两个方面的应用程序;台式机和手机。为了测试一切正常,我们编写了一些单元测试,并设置了 karma-coverage。

我已经有两个配置文件,第一个用于移动设备,第二个用于台式机,它会生成两个不同的覆盖率报告。

我需要的是更改默认报告标题。实际上,这是“所有文件的代码覆盖率报告”。我想将其设置为“所有文件的代码覆盖率报告 - 智能手机|桌面”。

任何人都知道是否有参数可以更改此默认标题?

0 投票
4 回答
45248 浏览

javascript - 如何阅读伊斯坦布尔覆盖报告?

我一直使用 Jasmine 进行单元测试,但最近我开始使用伊斯坦布尔来给我代码覆盖率报告。我的意思是我明白他们试图告诉我的要点,但我真的不知道这些百分比中的每一个代表什么(Stmts、Branches、Funcs、Lines)。到目前为止,谷歌搜索我一直无法找到可靠的解释/资源。

问题:就像我说的我明白了它的要点,但是有人可以发布正确的解释或正确解释的链接吗?

第三个问题:有什么方法可以确定代码的哪些特定部分没有被覆盖?到目前为止,我没有真正理解这份报告,我基本上是在猜测。

0 投票
2 回答
5067 浏览

javascript - 如何从伊斯坦布尔覆盖范围中忽略 node.js 中所需的文件

在我的代码中,我有var es = require('event-stream');

在我的 package.json 中,我有

我只想涵盖我的主文件,但它也涵盖了事件流的文件,所以我得到了类似的东西

有没有办法只覆盖我自己的代码?

0 投票
1 回答
1002 浏览

javascript - Angular Code Coverage 错误输出

我的堆栈是:Angular.js、Karma、Karma-coverage (Istanbul) 和 Jasmine。

我一直在对我的应用程序运行代码覆盖率分析,问题以及问题是,当服务 A实际上没有任何关联的测试时,我将服务 A标记为被测试覆盖(绿色) 。

我怀疑以下情况是罪魁祸首:

  • 我知道Service AController B使用。
  • 控制器 B被测试覆盖,并且代码覆盖结果正确地将其标记为被测试覆盖。
  • 测试Controller B时服务 A没有被模拟。

我认为由于控制器 B的测试间接调用了服务 A,因此我得到了错误的结果。

有任何想法吗?我怀疑是对的吗?有什么办法可以让我在这方面得到准确的测试覆盖率结果吗?

提前致谢!

0 投票
5 回答
3104 浏览

windows - Windows 7 中 Mocha 的代码覆盖率

我正在尝试对已在全球范围内安装的代码mocha进行覆盖:istanbul

按照这里的建议这样做

此命令还会引发与上述相同的错误:

一个 github 问题告诉我,我必须添加一条到 mocha 的路径node_modules,所以我这样做了:

规格

我使用 Windows 7 作为我的操作系统

我的测试如下所示:

0 投票
1 回答
688 浏览

javascript - 伊斯坦布尔代码覆盖率检查我的规范文件而不是源代码的覆盖率?

一般刚开始使用代码覆盖工具,但我认为我已经正确设置了所有内容。但是,Istanbul 正在生成我的规范文件而不是源文件的覆盖率报告?

当我跑步时jasmine-node repeatSpec.js --verbose

我得到:

这是正确的,如果我故意使测试失败,它也会正确失败。

但是,当我运行这个 istanbul 命令时:

我得到了这个响应,它正在根据我的规范文件检查覆盖率。

我做错了什么?

谢谢!

nb - 文件目录是这样的

重复.js

重复规范.js

0 投票
2 回答
1074 浏览

javascript - Nightmare.js 和代码覆盖率

精简版:

我无法从使用 nightmare.js 和 mocha 编写的测试中看到代码覆盖率。到目前为止,我已经尝试过使用 istanbul 和 _mocha,但没有成功。

大版本:

我有一个小项目:

/public/index.html

/public/js/hello.js

该网站正在使用 express 并且永远运行。

当我尝试使用 nightmare.js 对其进行测试时。

/test/test.js

测试通过

但是,我无法从我的测试中获得代码覆盖率报告。

我已经尝试过一些命令,例如:

那么,有人能够创建 nightmare.js 测试的代码覆盖率报告吗?如果不是,那么使用其他工具是否有类似的东西?

0 投票
2 回答
383 浏览

javascript - 茉莉花 + 伊斯坦布尔报道不起作用

我正在开发 lite javascript 框架,我的覆盖率声明不能达到 10%,即使我确定当我在做我的规范时,几乎所有的函数都被调用了。

如果有人知道我做错了什么,我会很高兴听到。

我的项目构建: https ://travis-ci.org/devoralive/doa

我的项目存储库: https ://github.com/devoralive/doa

我的茉莉花规格: https ://github.com/devoralive/doa/tree/master/specs/doa

来源: https ://github.com/devoralive/doa/tree/master/src/doa