问题标签 [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.
angularjs - Angular 1.x Browserify Jasmine 如何设置代码覆盖测试?
我正在使用带有 Browserify 的 Angular (1.x) 和 Jasmine 作为测试框架。我想运行代码覆盖率测试。我在网上研究了一下,这里和那里都有一些例子,有些例子不起作用。我想知道是否有人有为 angular+browserify+jasmine 设置代码覆盖率测试的经验?如果github中有repo我可以参考?
javascript - SonarQube 没有从 lcov 读取 javascript 测试覆盖率
我正在将 Karma 测试集成到 maven 中,并使用 SonarQube 进行测试覆盖率报告。
虽然我能够查看 HTML 业力测试覆盖率报告(覆盖类型 HTML in karma.conf.js
),但当类型为 lcov in 时,我无法在 SonarQube 中查看结果karma.conf.js
。
内容pom.xml
当我运行它时,它会在属性中提到的mvn clean install sonar:sonar
创建 lcov.info 文件。<sonar.javascript.lcov.reportPath>
文件内容lcov.info
:
运行后,SonarQube 仪表板显示 js 代码违规但不填充代码覆盖率。
中的配置karma.conf.js
:
正在使用的 SonarQube 版本是5.0.1
和 js 插件版本是2.11
我猜问题出在相对路径上,我确实在此处和此处浏览了这些链接,尝试手动更新 SF 路径以相对指向lcov.info
文件,但均无济于事。% 仍然为 0。
如果我在这里做错了什么,请告诉我。下面的控制台日志,所有被引用的路径都是正确的。
jasmine - 如何检查 src 文件或规范是否已被 karma 加载?
我正在为 jasmine 测试套件运行 karma 测试运行器。我不确定我的源文件和规范文件是否正在加载。如何检查 src 文件或规范是否已被 karma 加载?
angular - Angular Karma WARN [web-server]:运行测试时出现 404
我一直在尝试为 angular2、sass 和 ng2-bootstrap 设置一个基础项目,这个项目基于 angular2-seed 项目,你可以在这里找到整个代码库:https ://github.com/ omargon/angular-seed-sass-ng2-bootstrap一切都按预期构建,用于开发和产品分发。但是每当我尝试运行我的 uni 和 e2e 测试时,我都会收到以下错误:
欢迎任何帮助。
node.js - `Can not load "coverage"!` 尝试运行 Karma Coverage 时的消息
我提出这个问题的原因是因为我可以在 StackOverflow 上找到的唯一 Q/As 与找不到插件有关,解决方案是添加到插件列表中。但是,这是不同的,因为插件已成功找到,但无论如何都无法加载。
我不确定我需要更改或做什么才能使覆盖范围成功运行。
下面是我尝试通过 Grunt 运行覆盖任务时得到的输出。
以下是我安装的软件包版本:
angular - 业力覆盖不适用于 Angular rc1
在 Angular RC1 之后,我不得不重新配置 Karma。现在所有测试都运行正常,唯一突出的问题是:我永远无法修复业力覆盖率以显示任何内容(始终显示 100%)我 99.99% 肯定是配置问题,但我错过了什么?
我的业力.conf
sonarqube - Karma 为具有无效行号的 Angular 项目生成 lcov 报告
我有一个带有一些测试的 Angular 项目。我的构建是用 Gulp 编写的。我使用 Karma 运行测试并生成 lcov 报告。
然后我使用 gulp-sonar 插件来运行 Sonar。我的声纳配置如下所示:
Sonar 运行并分析代码,但在尝试使用以下内容读取 lcov 报告时失败:
对于我拥有的几乎每个 js 文件,依此类推。
如果我生成一个 html 覆盖率报告,那么该报告看起来不错,因此似乎该报告正在正确生成。
我想知道这是否是由我使用的 karma-browserify 步骤引起的。
有人可以帮助我的 lcov 报告错误吗?
有没有人设法获得与 karma 和 browserify 一起使用的 lcov 覆盖率报告?
node.js - Webpack 的 Karma 代码覆盖率不正确
我目前使用 Karma 作为我的 Webpack 测试运行器。我注意到不包含测试的简单测试文件给了我 92.86% 的语句覆盖率、50% 的分支覆盖率、100% 的函数覆盖率和 92.86% 的行覆盖率。
当我检查缺少覆盖的地方时,我看到了这段代码(第 10 行),它由 Webpack 注入到我的模块中,没有被测试覆盖:
我无法对此进行测试,因为 Webpack 正在将此代码注入到模块中。那么如何阻止此类信息包含在覆盖率报告中呢?
覆盖率报告给我的整个渲染文件如下:
我不希望将 jQuery 和 Webpack 项之类的内容包含在代码覆盖率报告中。如何将上述代码之类的内容排除在我的测试之外?因为没有测试且没有导入/要求的测试文件应该是 100% 的覆盖率。
typescript - Karma Coverage 找不到文件(angular2 / typescript)
我正在使用带有 typescript 的 Angular 2 设置应用程序,但在获取我的业力覆盖范围以查找我希望它检查的文件时遇到问题。我已经在 Angular 1.x 应用程序上成功设置了它,但打字稿似乎缺少另一层。
一切运行良好,我看到我的所有单元测试都按预期被 karma 检查,覆盖率表明一切正常,并且我的代码具有 100% 的覆盖率,这引发了一个危险信号。在检查 html 输出的覆盖率后,我看到我有 100% 的覆盖率,因为没有检查任何文件。
查看终端中的输出,我看到我使用 pattern: './src/**/*.js' 选择的所有文件都被排除在外,这意味着它只查找 .ts 文件而不编译它们进入js。
我还在覆盖输出上方的终端中看到一条消息,上面写着“无法找到源中指定的所有文件,继续进行部分重新映射。”
我添加了 typescriptPreprocesser 认为它会在测试期间将 ts 文件转换为 js 文件,以便覆盖工具可以解析它们,但到目前为止我所做的一切都没有奏效。
这是我的完整的 karam.conf.js 文件:
我的终端输出以防它有帮助:
关于我在这里做错了什么有什么想法吗?
angularjs - 如何从代码覆盖率数字中排除 browserify 生成的代码?
我使用 browserify 将我们所有的 Angular js 代码捆绑到一个文件中。我们使用 karma + jasmine 对这个文件 app.js 进行单元测试。作为 browserify 打包的一部分,它会在文件的开头注入一行代码:
我尝试在该行上方放置一个/*instanbul ignore next*/
,但会导致整个文件被忽略。这一行正在扼杀我的分支机构覆盖率。有没有忽略这个生成的代码?