问题标签 [karma-coverage]

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 投票
0 回答
995 浏览

javascript - Karma-coverage 显示分支覆盖率 0/0

我的业力覆盖率显示语句、函数和行覆盖率的正确值,但分支覆盖率始终显示 0/0。我有将近 23 个规范文件,而且它们都一样。附上报告截图。

这是我的业力配置文件。

业力覆盖报告

0 投票
0 回答
706 浏览

javascript - Typescript + karma + webpack + codecoverage 不起作用

我想按照分步说明将 angular1 项目迁移到 angular2。因此,我在项目中添加了打字稿。但现在我在使用 Karma、Webpack 和 CodeCoverage 运行它时遇到了问题。单元测试都是绿色的,但代码覆盖率没有在其报告中显示“.ts”文件。

我必须如何配置我的 karma.config 才能使其正常工作?我已经尝试过 'karma-typescript' 和 'karma-remap-istanbul' 虽然我一直在为我的所有依赖项获取正确的设置。

这是我的 karma.conf.js:

这是“karma.import.js”,所有资源都单独加载:

0 投票
3 回答
80275 浏览

angular - 使用服务中的 observables 测试错误案例

假设我有一个订阅服务功能的组件:

subscribe 调用将两个匿名函数作为参数,我设法为 data 函数设置了一个工作单元测试,但 Karma 不会接受错误的覆盖。

在此处输入图像描述

我试过监视 console.error 函数,抛出一个错误,然后期望间谍被调用,但这并没有完全做到。

我的单元测试:

测试此类匿名函数的最佳实践是什么?确保测试覆盖率的最低要求是什么?

0 投票
1 回答
2449 浏览

javascript - 询问 Angular 2 单元测试中的 Coverage 摘要?

当我在 Angular 2 中运行测试时,我在 Coverage Summary 部分的控制台命令中看到一些关键字输出为Statements, Branches, Functions....

在此处输入图像描述

我不知道到底是什么?

任何帮助为我解释一下,谢谢。

0 投票
3 回答
792 浏览

javascript - 如何使用 karma 在我的 Aurelia 应用程序中获得代码覆盖率结果?

au new使用Aurelia CLI

然后我首先将任务npm install karma-coverage --save-dev复制test.js到 a cover.js(以便我可以运行au cover)。

封面.js

这……把我带到某个地方?

<code>au cover</code> 的控制台输出

但我不认为测试链接到单个 src 文件(而是链接到app-bundle.js)。

有没有办法在 src 文件级别(即不是捆绑级别)获得 Aurelia 应用程序的代码覆盖率?

其他感兴趣的文件

应用程序.js

业力.conf.js

0 投票
0 回答
401 浏览

unit-testing - Angular 2 单元测试/Karma 测试运行器:仅报告“包含:真实”karma-test-shim 的覆盖率

我只得到任何 {included: true} 文件的测试覆盖率结果,在我的例子中只有 karma-test-shim.js。我无法制作我的测试文件 {included: true},因为 SystemJs 应该将它们加载到 karma-test-shim 中。尝试使我的测试文件 {included: true} 导致“不允许匿名系统注册调用”错误。我的测试在 {included: false} 下运行良好。使用 SystemJS 在 karma-test-shim 中加载测试文件,并制作测试文件 {included: false},是 Angular 2 github repos 遵循的标准格式,包括 angular2-quickstart repo。

我在我的 tsconfig.json 文件中使用“system”作为模块格式而不是“commonjs”,使用 Electron 浏览器而不是 Chrome(通过 karma-electron NPM 包),以及一行 Electron require shim 在 karma- karma .loaded 行上方的 test-shim 文件- 所有这些一起使节点模块(如 fs、path 或已安装的模块)的“要求”能够在测试中工作而无需预先捆绑。我的应用程序是带有 Electron 和 Angular 2 的桌面应用程序。

除了这些差异之外,我的测试设置(karma.conf.js 和 karma-test-shim.js)与https://github.com/juliemr/ng2-test-seed完全相同。

这是我的基本 karma.conf.js 文件:

0 投票
2 回答
1153 浏览

angular - 伊斯坦布尔仪器加载程序找不到 Angular2 组件的源映射。

我正在尝试使用 karma、jasmine、webpack 搭建 angular2 脚手架,方法是关注网上的各种资源,以获得更深入的了解。

我正在使用istanbul-instrumenter-loader进行业力覆盖率报告。

当我运行时,npm test我得到以下输出:

我没有发布来自多个文件的输出,而是使用 README 将所有代码放在 Github 中

您的帮助将不胜感激。

0 投票
0 回答
696 浏览

unit-testing - Angular-Cli,Webpack:为什么 Karma-coverage 包括 lib 文件夹

我们最近开始使用 angular-cli beta 18。根据文档中给出的方向,我们进行了更改以运行我们的测试。截至目前,下面是我们的目录结构

正如 angular-cli 文档中所建议的,我们使用 test.ts 来包含所有测试。上下文设置行是

这可以很好地运行我们的测试,并通过在 karma.config 中添加以下行来生成代码覆盖率。

但是,由于某种原因,它也包括 lib/rxjs 文件夹的覆盖范围。我在上述配置中尝试了各种组合,但在排除该 lib 文件夹方面没有任何成功。

任何帮助表示赞赏。

更多信息 - 我只使用 karma-coverage 而不是 karma-remap-Istanbul。

0 投票
1 回答
963 浏览

angular - 源映射在 Angular2 的单元测试中不起作用

我正在开发一个由 angular-cli 1.0.0-beta.18 生成的 Angular2 项目。

一般来说,模板效果很好。但是,当我尝试调试单元测试(在 Chrome 中)时,代码难以理解。

我要做的是:

  1. 我通过运行开始测试ng test
  2. 谷歌浏览器打开
  3. 我可以在控制台中确认测试已经运行:Executed 36 of 36...
  4. 我现在想调试测试,所以我单击DEBUGChrome 中的按钮,这会打开一个新选项卡。
  5. 在该选项卡中,我打开开发人员工具。
  6. 我现在可以Ctrl-P用来查找和查看文件。该代码对于规范是可读的。
  7. 但是,当我打开实现代码时,我得到以下

在此处输入图像描述

看起来该文件已被代码覆盖工具缩小或转换。__coverage__考虑到这部分,后者似乎更有可能。源图显然无效。

如何使源映射工作?

我尝试修改karma.conf.js文件以删除对代码覆盖率报告(即伊斯坦布尔)的所有引用,见下文。但这对行为没有影响:

0 投票
1 回答
493 浏览

karma-runner - 如何使用 WebStorm 调试单个 Karma 测试

我正在尝试使用 Karma 和 WebStorm 调试单个测试。我发现这是可以做到的,

  1. 当我不使用报道记者并使用 --reporter progress运行 karma.config 时,但这不起作用
  2. it into fit在单元测试中改变。

如何使用 WebStorm 调试单个 Karma 测试?

业力配置