问题标签 [jscoverage]
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.
jenkins - Qunit + JSCoverage + 詹金斯
我已经开始使用 Qunit 来测试我的 JS 代码。我正在研究 JSCoverage 以便稍后生成覆盖率报告。我们有一个 CI 服务器 (Jenkins),它已经用我们的 PHP 代码做了一些事情,我想知道是否有人可以评论我如何将 Qunit 和 JSCoverage 中的报告集成到 Jenkins
谢谢斯帕什
jasmine - 使用 Jasmine 运行 JScoverage
对 Javascript 编码有点陌生,所以请多多包涵。
我通过jscoverage 自动化测试阅读了以下链接 jasmine
但是,由于我没有 Ruby 项目,所以它似乎不是我想要的。
以下是我执行的步骤:
- 将我要测试的 js 文件复制到目录“输入”
- 运行以下命令“jscoverage 输入输出”
- 将 Jasmine 的 spec 和 src 文件夹以及 SpecRunner.html 复制到“输出”中
- 将检测的源文件复制到 src
- 在 Chrome 中打开 jscoverage.html
- 在“浏览器”选项卡中打开 SpecRunner.html
此时,浏览器页面显示我的 Jasmine 测试。但是,“摘要”页面显示 0 个已测试文件,并且“源”选项卡显示为灰色。
我知道我在某个地方搞砸了,但不确定在哪里。请帮帮我。谢谢!
javascript - 我应该如何衡量 JS 的单元测试覆盖率?我对 jscoverage 不满意
我想衡量 Javascript 的单元测试覆盖率。
jscoverage 是最有用的工具之一。但是,jscoverage 只能衡量代码在单元测试中通过与否。我想衡量包括逻辑在内的覆盖范围。
我应该如何衡量 JS 的单元测试覆盖率?
unit-testing - 从 JSCover/JSCoverage coverage.xml 或 jscoverage.json 获取 LCOV 兼容输出
概括
我最近从使用Google 的 JsTestDriver切换到了Testem但错过了LCOV HTML Code Coverage Reports,有没有办法将JSCover输出转换为 LCOV 格式,所以我可以使用 genhtml 创建这样的报告。
细节
我正在使用 Testem、Jasmine 和 PhantomJS 从一个 JSCoverage 示例中工作,它生成以下 2 种覆盖输出格式;
覆盖率.xml
jscoverage.json
有没有办法将上述内容覆盖到 js-test-driver 输出的 jstestdriver.conf-coverage.dat 格式中?
谢谢。
ruby-on-rails - Rails + Capybara-webkit – javascript 代码覆盖率?
我正在研究使用 capybara-webkit 对应用程序进行一些接近现实的测试。这是绝对必要的,因为该应用程序具有非常丰富的基于 JS 的 UI,并且 Rails 部分主要是 API 调用。
问题是:是否有任何工具可以集成到可以检测 Javascript 代码并报告其覆盖率的测试管道中?这里的关键是能够轻松集成到测试工作流中(就像 rcov/simplecov)——我不喜欢自己用 jscoverage 或类似物来做这个想法:)
提前谢谢了。
javascript - 单元测试中的代码覆盖率
我正在尝试获取我的单元测试未涵盖的代码行。
我用 mocha 进行单元测试,它提供了一个报告器“json-cov”,它应该报告我没有执行多少行。
我有两个文件,第一个(foo.js):
第二个(test.js):
当我运行时,mocha -R json-cov test.js
我得到以下结果:
我做错了什么,所以 sloc、命中、未命中和覆盖率为 0?
我也尝试使用节点require
而不是 jscs,但没有成功。
编辑:我刚刚尝试过mocha -R json-cov test.js --coverage
,如果我使用 jscs 会导致错误require
。当我使用节点时require
,结果与上面相同。
编辑:我什至不能从控制台运行 jscoverage。我创建了一个文件夹 foo 和 foo-cov 并将我的 foo.js 复制到文件夹 foo 中。然后我跑了jscoverage foo foo-cov
,这给了我一个错误abs source path or abs dest path needed!
。我还尝试了绝对路径和其他一些排列参数的方法。没有成功。如何为 jscoverage 准备文件?
编辑:如果有任何相关性,我正在使用 Windows。
编辑:刚刚意识到不仅可以通过 npm 获得一个“jscoverage”包,还有一个“visionmedia-jscoverage”。试图安装那个失败。可能是因为 Windows 与 Linux。
编辑:让它工作。我现在没有使用节点包来准备代码,而是从控制台运行 jscoverage.exe(从这里下载),然后使用mocha -R html-cov test.js > coverage.html
. 现在我遇到了一些代码被转义的问题。所以我得到
代替
突出显示。
编辑:标签被转义了,因为它们是通过使用以下代码的翡翠模板呈现的:td.source= line.source
更改它以td.source!= line.source
解决我遇到的最后一个问题。
jenkins - 无法让 JSCover 和 PhantomJS 在 Cloudbees 上运行 Jasmine 测试
我目前正在尝试在 Web 服务器模式下运行 JSCover 以确定在 PhantomJS 无头浏览器中执行的 Jasmine 测试的覆盖范围。我也在使用 grunt+nodejs 来启动测试。
我在 gruntfile 中用于启动 JSCover 服务器并执行 phantomJS 的代码是:
但是,当我在 cloudbees 中的 Jenkins 节点上运行 Web 服务器,然后针对它运行 phantomjs 时,我收到以下错误之一:
一些测试开始运行,但随后该过程失败:
/li>PhantomJS 无法访问 JSCover 服务器:
/li>
对于第二个错误,我尝试使用我设置的不同端口和主机名(例如,主机名使用 127.0.0.1 或 localhost,端口使用 4327、43287 等)。端口不是在构建时动态设置的——我将它们硬编码在我的 grunt 脚本中。
关于为什么会发生上述错误或为什么我在 Cloudbees Jenkins 节点上运行和访问 JSCover 服务器时遇到问题(但从未在我的本地机器上)有任何想法吗?
javascript - 如何告诉 Sonar 使用我的 LCOV 文件进行代码覆盖
我们有一个包含一堆 javascript 文件的 Jenkins 作业。我们通过 grunt 构建我们的项目,并在构建结束时运行 JSCover 来运行我们的单元测试并收集代码覆盖率。这一切都有效。我们得到了一个不错的 LCOV 文件。
我们现在想将 LCOV 文件上传到 Sonar,但我不知道该怎么做。我们正在从 Jenkins 构建我们的项目,作为一个自由风格的项目。
我尝试使用声纳的各种项目属性,但没有爱:
我怀疑问题出在“高级参数”下,但我不知道如何告诉声纳,“请使用我的 LCOV 文件进行代码覆盖”。
javascript - 如何在 Sonar 中重用来自 JSCover 的 LCOV 报告以进行 javascript 代码覆盖
我正在使用 JSCover 来捕获我的 javascript 文件的覆盖范围。JSCover 以 json 格式输出覆盖率,我可以使用给定的 html 文件查看覆盖率结果。
我正在使用以下方法将 json 文件转换为 lcov:
这是我在我的 sonar.propoerties 文件中设置的
但我看不到报道。为什么?