ruby-on-rails - Rails + Capybara-webkit – javascript 代码覆盖率?

标签 ruby-on-rails testing rcov jscoverage

我正在考虑使用 capybara-webkit 对应用程序进行一些接近现实的测试。这是绝对必要的,因为应用程序具有非常丰富的基于 JS 的 UI,而 Rails 部分主要是 API 调用。

问题是:是否有任何工具可以集成到测试管道中,从而检测 Javascript 代码并报告其覆盖率?这里的关键是能够轻松集成到测试工作流程中(就像 rcov/simplecov)——我不喜欢自己用 jscoverage 或 analogue 做的想法 :)

非常感谢。

最佳答案

这已经添加到 JSCover(在主干中)- JSCover 的相关线程是 here .

I managed to get JSCover working in the Rails + Capybara pipeline, but it did take quite a bit of hacking to get it to work

这些更改现在位于 JSCover 的主干中,并将成为 1.0.5 版的一部分。那里还有工作示例(包括 Selenium IDE 记录的示例)和文档。

There is some additional work needed to get the branch detection to work since that uses objects that cannot be easily serialized to JSON

这是一个在新代码中使用的函数。

Anyway, the end result works nicely

我同意。这使得 JSCover 可用于更高级别的工具,这些工具不能很好地与 iFrame 或此方法避免的多个窗口一起工作。这也意味着可以通过两项调整将代码覆盖率添加到现有的 Selenium 测试中:

  1. 让测试通过 JSCover 代理运行
  2. 在测试套件结束时保存覆盖率报告

有关更多信息,请参阅 JSCover 的文档。包含这些更改的 1.0.5 版应该会在几天内发布。

关于ruby-on-rails - Rails + Capybara-webkit – javascript 代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007695/

相关文章:

ruby-on-rails - rvmsudo 命令无法正常工作

angular - 我如何模拟 sweetalert 以及如何使其在 Angular Testing 中返回 true

java - 在没有 DAO 的情况下测试服务层

ruby - RCov 开始分析加载的库(包括 Rdoc 本身)——当使用 rvm(Ruby 版本管理器)时

ruby-on-rails - Rcov 覆盖率随 -xrefs 发生巨大变化

ruby-on-rails - 可以在 Rails Controller 中渲染并引发异常吗?

ruby-on-rails - Rails 生产服务器 : stylesheets not displaying!

ruby-on-rails - Postgres 适配器似乎为实际具有非 NULL 值的列返回 nil 日期

testing - 单元测试 Doctrine ODM