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

gruntjs - Grunt-template-jasmine-istanbul 缺少目录错误

我安装了 grunt 插件 grunt-template-jasmine-istanbul

并添加到 Gruntfile.js 如下:

但是在运行测试时,它显示以下警告并且在测试/覆盖文件夹中没有报告:

我还创建了 test/coverage/html 和 test/converage/text 文件夹。我还查看了插件作者的代码,但找不到任何解决方案:https ://github.com/maenu/grunt-template-jasmine-istanbul-example/blob/connect/Gruntfile.js

0 投票
2 回答
3738 浏览

javascript - 了解伊斯坦布尔的代码覆盖率

我刚从一个示例文件 (example.js) 开始,其中包含以下语句:

我没有任何单元测试文件。但是当我跑步时

我看到以下一些覆盖率数据

这是否意味着我在 3 个语句中包含 2 个语句?如果是这样,当我没有任何针对该代码的单元测试文件时,它如何报告该代码已被覆盖?

根据我对代码覆盖率定义的理解,它是由单元测试覆盖的代码。我不明白为什么 istabul 说我在没有编写任何单元测试的情况下涵盖了 2 个语句。

0 投票
3 回答
9093 浏览

karma-runner - 如何获得业力覆盖率(伊斯坦布尔)来检查所有源文件的覆盖率?

代码结构

我有一个app像这样的目录结构

我的test目录当前看起来如此

请注意,我只有到目前为止所涵盖GraphToolbar的文件;settings/没有测试OverviewCanvasControl.js文件nodes/

业力配置

在我的karma.conf.jscoveragekarma-coverage):

问题

当我运行 karma 时,覆盖预处理器和报告器运行,但它只检查已经写入规范的文件。我想报告 0% 的覆盖率OverviewCanvasControl.jsnodes/没有覆盖率的文件。当创建一个新文件并运行业力时,我希望它能够捕捉到该文件还没有规范。

如何让 Karma 检查所有匹配的源文件的覆盖范围,而不仅仅是那些已经创建规范的源文件?

0 投票
1 回答
820 浏览

node.js - 伊斯坦布尔封面报告对于使用 mocha 进行测试是错误的(使用 Mongoose)

我已经尝试在伊斯坦布尔为我的应用程序进行掩护测试。一切似乎都工作正常,但有些方法被标记为未涵盖,我确信(因为日志)这些功能已涵盖。这是我要测试的代码(使用 Mongoose):

和我的测试课:

我看到了日志,所以我确定该方法被很好地调用。

我使用以下命令运行封面测试:

任何线索将不胜感激。

JM。

0 投票
1 回答
856 浏览

javascript - 如何让伊斯坦布尔使用 Sails.js 0.10.x?

我正在尝试让伊斯坦布尔代码覆盖工具与 Sails.js 0.10.x 应用程序一起使用。

我看到了http://blog.sergiocruz.me/unit-test-sailsjs-with-mocha-and-instanbul-for-code-coverage/但这使用了 0.9.x,并且按照与 0.10.x 相同的步骤没有'由于更改了 Grunt 设置,因此无法正常工作。

我试图对其进行如下调整:

  • tasks/config/istanbulCoverage.js

    /li>
  • tasks/register/coverage.js

    /li>

但这只会导致/coverage创建目录,但不会在其中创建文件。

没有错误消息,所有测试都通过,一切似乎都很好,只是没有创建覆盖率报告。

有谁知道怎么了?如果这很重要,我在 Windows 上,但稍后会尝试 *nix VM。

0 投票
1 回答
2791 浏览

javascript - 错误“未定义定义”启动伊斯坦布尔

有一个关于“JavaScript”+“Node.JS”+“Ant”的项目。

测试用“Karma”+“Jasmine”编写的 JavaScript 代码。

使用“伊斯坦布尔”评估代码覆盖率。

命令:

错误:
“[文件路径]\someFile.js:9
__cov_lhpa2MzHG9ur0fWhNQ3HsA.s['1']++;define('some',function(){__cov_lhpa2MzHG

ReferenceError:定义未定义”

请告诉我,如何解决这个问题?

升级版:

文件“someFile.js”中的代码:


UPD_2:

“define()” - 方法与 RequireJS 的员工相关并描述模块。

0 投票
1 回答
1407 浏览

javascript - CoffeeScript 代码覆盖率

是否可以在不使用 CoffeeScriptRedux 编译器的情况下对 CofeeScript 源代码执行代码覆盖(这个在 ibrik 中使用)。我了解这个新编译器的优点,但看起来它还没有完成并且不适用于我的项目。

0 投票
0 回答
166 浏览

node.js - 用伊斯坦布尔加载猫鼬模型

我想为我们的项目实现代码覆盖,所以我们使用 grunt-istanbul。我坚持这个教程:https ://github.com/taichi/grunt-istanbul

我的问题是,在针对工具化源代码运行测试时出现此错误,但在针对正常代码运行测试时它工作正常。

我们也在mongoose.model('Comm', CommSchema);comm 模块中导出并在测试代码中导入。如前所述,如果正常运行 Mocha 测试,它就可以工作。

0 投票
1 回答
3784 浏览

coffeescript - 使用 Karma、browserify 和 Coffeescript 测试覆盖率

我在添加测试代码覆盖率时遇到了麻烦,我正在使用 Karma 并且添加到 Karma 的文件已经与 browserify 捆绑在一起,所以karma.conf.coffee看起来像这样:

这适用于运行测试,但不适用于覆盖率

我正在使用karma-coveragenpm 包,这是:

实际上确实创建了覆盖率统计文件,但这些是完全错误的,因为它会使 browserify 从 node_modules 带来的部分变红(因为我没有测试来覆盖那些)

理想情况下,我必须收集 browserify 生成的源映射,并对它们运行覆盖,但 browserify 将源映射嵌入到 .js 文件中。使用karma-sourcemap-loader让我在调试时看到原始的咖啡脚本文件(由于某种原因,它只在 ChromeCanary 中有效,但它有效)

我试图这样做preprocessors: 'src/client/**/*.coffee':['coverage'],但这根本没有产生任何统计数据说“没有数据要显示”

你有什么想法?

更新:

我想通了browserify-istanbul之后立即运行转换coffeeify,这给了我这样的漂​​亮图表:在此处输入图像描述

现在,我需要以某种方式从中删除 app.js,因为它真的没关系而且真的很混乱

更新:

哦,我必须提供咖啡文件,而不是 javascript:

0 投票
1 回答
626 浏览

javascript - 伊斯坦布尔覆盖 HTML 报告中的嵌套目录

来自伊斯坦布尔的 HTML 格式的单元测试覆盖率报告以index.html.

它实际上使目录结构变平。是否有使用嵌套文件夹呈现 html 报告的选项?