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

google-chrome - 业力覆盖的业力需要很长时间才能开始

在使用 karma-coverage 插件运行时,我目前遇到了 Karma (0.12.31) 的问题。

执行 Karma,没有覆盖,几秒钟后测试开始运行。如果我使用 karma-coverage 插件执行 karma,将花费更多时间。我知道报道可能需要更多时间,但我认为时间量是荒谬的。

使用 karma-coverage 我收到消息“karma chrome 在 60000 毫秒内没有捕获,正在杀死”,然后 karma 杀死了 Chrome(我使用的是 43.0.2357.132)。5 分钟后,一个新的 Chrome 窗口打开,几秒钟后测试终于执行。

我的配置是否正确并且必须等待那么长时间是“正常的”?我们谈论的是 4000 次测试,尽管我只运行了这 4000 次中的 12 次。

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

0 投票
0 回答
342 浏览

javascript - How to setup Karma configuration for using CoffeeScript & CommonJS pre.?

I'm trying to setup Karma with CoffeeScript and CommonJS pre-processor but I'm getting the error log require is not defined in the terminal.

Seems to be a load order issue because sources and test files are loaded before the common-js bridge js file. How can I specify load order? Or is there any other issue in my config?

My previous error of my config ERROR [preprocessor.coffee]: unexpected MATH was the problem that the preprocessor was applied to all coffee files inside of node_modules folders.

My Karma.config.coffee looks like this:

My directory structure looks like this:

enter image description here

My test file should work because if I run it with jasmine-node like $ node_modules\.bin\jasmine-node spec --coffee --color the test runs successfully. I'd like to use Karma because I couldn't get Istanbul to work with CoffeeScript under Windows 8.1 (64bit) directly (seems to be a command line issue).

At the moment, coverage is not adding anything to the html report but I think that's because of the require undefined issue.

In the browser console I'm getting these errors: enter image description here

0 投票
2 回答
1685 浏览

javascript - 业力覆盖率显示 0/0, 100% 覆盖率

我的覆盖率始终显示为 0/0 和 100%。我发现了一些指向错误报告和文档的链接,但没有任何帮助。

这是我的配置文件

};

我不得不删除一些配置,所以 SO 会让我发帖。显然我必须在我的帖子中使用完整的配置编写很多代码。

0 投票
2 回答
6547 浏览

angularjs - 如何在打字稿角度应用程序中获得 100% 的业力分支代码覆盖率?

我使用 karma 和 jasmin 单元测试编写我的 Angular 应用程序。我在打字稿中得到了代码:

它生成到 javascript 之类的:

现在,当我运行 karma-coverage 时,它​​显示我跳过了一个分支,它是|| (app = {})) ; 这个。当我测试更多具有应用程序模块的文件时会发生这种情况。

如何在 jasmine 中对其进行测试,以获得 100% 的分支覆盖率?

0 投票
1 回答
79 浏览

code-coverage - 业力覆盖:对象没有方法 isIdentifierPart

我想使用 Karma 对我的 JQuery Mobile 项目进行代码覆盖,并使用 QUnit 或 Jasmine 进行测试。
我已经安装了我需要的所有节点包(karma、karma-cli、karma-coverage、jasmine/qunitjs、karma-chrome-launcher)并创建了以下 karma.conf 文件:

业力.conf.js

和这个测试文件(与茉莉花):

缺席.test.js


我在我的项目上启动了业力启动,我的缺席.js 文件仅包含此功能:

它工作正常,生成了我的覆盖率报告,并指出我的缺席.js 文件中覆盖了 50% 的代码。

但是,如果我使用“if”语句修改我的函数:

我在控制台中有以下错误:

实际上,如果我使用任何条件语句或循环,我就会得到这个错误。我的业力配置有问题吗?

编辑

我重新安装了 Node.js 和所有的 karma 包,它终于可以工作了,但现在我有一个奇怪的问题:所有生成的 html 文件都放在我的源目录中,即使我指定了 coverageReporter 目录......
任何想法?

0 投票
0 回答
119 浏览

jasmine - Jasmine:带有 transformResponse/resolve 的函数

我在控制器中有一个功能:

并像这样测试:

测试通过,但业力覆盖显示该函数 transformResponse 未被测试覆盖。我必须如何正确模拟这个函数?谢谢!

0 投票
2 回答
640 浏览

angularjs - AngularJS 指令 - 单元测试业力覆盖率

我在涉及指令单元测试时遇到问题。我使用以下方式: http : //blog.revolunet.com/blog/2013/12/05/unit-testing-angularjs-directive/(由 Julien Bouquillon 编写)为我的指令创建单元测试。该博客上提出的想法看起来非常适合我的需求并且得到了很好的解释,但我的问题是覆盖率没有反映在 Karma Coverage(伊斯坦布尔代码覆盖率工具)中。

我应该如何创建指令单元测试以反映在覆盖率摘要中?有人可以举个例子吗?

0 投票
1 回答
6342 浏览

javascript - 获取预编译源代码的 Karma 代码覆盖率

我使用 Karma 运行测试,使用 webpack 打包文件,使用 babel 进行 es6 -> es5 转换。我已经运行了测试并生成了代码覆盖率,但是代码覆盖率数字是用于编译后的源文件。反正有没有获得原始源文件的代码覆盖率?

我尝试使用sourcemap预处理器,但它似乎没有做任何事情。我需要将它添加到 webpack 配置中的某个地方吗?

业力.conf.js

0 投票
1 回答
1746 浏览

angularjs - Karma-Coverage 和伊斯坦布尔 HTML 报告未输出到预期目录

我无法让伊斯坦布尔将其 HTML 报告输出到我的 Karma 配置中指定的目录。它当前在正确的目录()中输出主 index.html,reports/coverage但详细的 html 子页面输出到与源文件()相同的目录www/js/...这是此处此处描述的相同问题,但在尝试了建议的解决方案后,问题仍然存在。

这是我的业力配置文件的内容:

reports/coverage非常感谢有关如何解决此问题的建议,以便将所有覆盖文件放入目录中。谢谢。

0 投票
0 回答
314 浏览

angularjs - AngularJS 单元测试指令

我正在做一个 AngularJS 单元测试并使用 Karma - Coverage 来查看结果。这是我的代码。

我写了以下测试用例。

如您所见,我尝试了许多代码来尝试测试,keydown但它们都不起作用。代码覆盖率报告中的结果保持不变。我该如何测试它?我是 AngularJS 及其单元测试的新手,我用谷歌搜索仍然找不到任何解决方案。

编辑:我尝试了单元测试 Angular 指令点击处理程序并修改了我的代码。但它仍然不起作用。