问题标签 [rcov]

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 投票
1 回答
248 浏览

ruby-on-rails - 如何收集有关 erb 模板处理的 rcov 样式信息?

我在从我的 rails 路由自动生成的一组测试中使用 rcov 来收集有关死代码(在应用程序中从未调用过的代码)的信息。这种设置已经为控制器、模型、助手和 lib 代码产生了启发性的结果。不幸的是,rcov 不跟踪 erb 模板中的代码覆盖率,这是有道理的,因为 erb 模板是对正常执行概念的一个相当具有挑战性的延伸。

Rails 本身可以生成关于在模板中引发异常的位置等的良好报告,所以我觉得这是可以收集的数据。

我目前正在尝试在 rcov 中找到可以连接的点,但是系统的 Ouroboros 特性使得很难清楚地看到正在发生的事情。我还怀疑有必要对 ERB 进行一些猴子补丁。

如果您对方法或解决方案有任何想法,我将不胜感激。设置好视图功能后,我将清理此代码并将其作为开源 Rails 插件发布。

0 投票
2 回答
569 浏览

ruby-on-rails - 黄瓜 + 硒 + rcov =?

是否可以使用硒驱动的功能来测量覆盖率?

0 投票
1 回答
826 浏览

ruby - RCov 不起作用

我目前正在开发一个 Ruby gem 并希望创建指标。

我正在使用“metric_fu”,但 RCov 似乎偏离了我的规范。

这是我的 metric_fu 配置:

你有什么建议吗?

此致

0 投票
3 回答
1024 浏览

ruby-on-rails - Metric-Fu/Rcov“没有要分析的文件”

我正在尝试让 metric-fu 在我正在使用的 Rails 项目上运行。每次运行我得到的指标的 rcov 部分时:

单独运行 rcov 会遇到同样的问题。如果有帮助,我正在使用 Rspec 而不是 TestUnit。

0 投票
2 回答
933 浏览

ruby-on-rails - Rcov:为什么这段代码没有被考虑覆盖?

这是我的控制器:

...它所基于的助手:

...以及我的功能测试(使用的是 Shoulda):

编辑我的 rcov rake 与官方常见问题解答中列出的完全相同:eigenclass.org

RCov (0.9.7.1) 将控制器中直到“def index”的每一行列为绿色,之后的每一行(包括所有“结束”)列为红色/未执行。我知道当我的测试实际执行时,它确实成功地执行了代码。

为什么 RCov 给出不直观的结果?我在这里缺少什么吗?

0 投票
1 回答
1288 浏览

ruby-on-rails - Rails 测试系统堆栈错误

暂停后,我继续测试我的 Rails 应用程序。现在在我的 rails 应用程序上运行测试会返回 SystemStackError。即使是一个简单的测试,如

def test_per_page

assert_instance_of Fixnum, Activity.per_page

结尾

在给我

C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/m odule/introspection.rb:74:in `local_constants': 堆栈级别太深 (SystemStackError)

我发现我们已经安装并删除了 test-unit gem。即使在那之后同样的问题不断出现。我在使用 rcov 的同时也安装了 rcov 和同样的东西..

C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:666:in `hash': stack level too deep (SystemStackError)

以前有没有人遇到过这样的事情.. 我知道 gem 需要被一遍又一遍地调用.. 有没有办法解决这个问题?

0 投票
1 回答
545 浏览

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

语境

  • rcov 0.9.8 2010-02-28
  • ruby 1.8.7 (2009-06-12 补丁级别 174) [i686-darwin10.3.0]
  • rvm 0.1.38 by Wayne E. Seguin (wayneeseguin@gmail.com) [ http://rvm.beginrescueend.com/]
  • 系统 Ruby(rvm 使用系统):ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10]

文件

测试设置是一个“lib”文件夹,其中包含一个定义类的文件,文件夹“test”和“test/sub_test”,“sub_test”包含单个“test_example_lib.rb”和一个像这样的 Rakefile:

结果

问题

为什么在这里分析 RCov 本身?我希望这一点(并且在使用'rvm use system'时不会发生)。事实上,这似乎是由于我使用了通过 rvm 安装的 Ruby。

0 投票
4 回答
8550 浏览

rspec - 带有 RSpec-2 的 RCov

我正在使用一些最前沿的 Rails 应用程序。Rails 3、RSpec 2、Rspec-Rails2。

似乎 RSpec2 不包括 RSpec 1 具有的 spec:rcov rake 任务。(至少现在还没有)

有没有人有幸使用 rspec 2 运行 rcov,或者编写自己的 rake 任务来完成这项工作?

0 投票
1 回答
283 浏览

hudson - 在哈德逊错误中使用 Rcov 配置 Rmetrics

当我尝试保存运行代码覆盖测试并配置为发布 rcov 报告的作业时,我收到下面列出的错误消息,并且我所做的更改未保存。这个问题出现在 Hudson 版本 1.362 中并且存在于 1.363 中。如果我取消选中“发布覆盖率报告”复选框,则可以保存作业。

状态代码:500 异常:堆栈跟踪:

java.lang.InstantiationError: hudson.plugins.rubyMetrics.rcov.model.MetricTarget at org.kohsuke.stapler.RequestImpl.bindParametersToList(RequestImpl.java:271) at hudson.plugins.rubyMetrics.rcov.RcovPublisher$DescriptorImpl.newInstance(RcovPublisher .java:143) 在 hudson.plugins.rubyMetrics.rcov.RcovPublisher$DescriptorImpl.newInstance(RcovPublisher.java:104) 在 hudson.util.DescribableList.rebuild(DescribableList.java:147) 在 hudson.model.Project.submit( Project.java:198) at hudson.model.FreeStyleProject.submit(FreeStyleProject.java:97) at hudson.model.Job.doConfigSubmit(Job.java:1050) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:555 ) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl 的 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)。在 org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:235) 在 org.kohsuke.stapler 的 java.lang.reflect.Method.invoke(Method.java:597) 调用(DelegatingMethodAccessorImpl.java:25) .Function.bindAndInvoke(Function.java:116) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:57) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:75) at org.kohsuke .stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) 在 org.kohsuke.stapler.Stapler.invoke(Stapler.java:525) 在 org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:181) 在 org .kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) 在 org.kohsuke.stapler.Stapler.invoke(Stapler.java:525) 在 org.kohsuke.stapler.Stapler.invoke(Stapler.java:441) 在org.kohsuke.stapler.Stapler.service(Stapler.java:123) 在 javax.servlet.http。HttpServlet.service(HttpServlet.java:45) 在 winstone.ServletConfiguration.execute(ServletConfiguration.java:249) 在 winstone.RequestDispatcher.forward(RequestDispatcher.java:335) 在 winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) 在hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter( RequestDispatcher.java:368) 在 hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) 在 winstone.FilterConfiguration.execute(FilterConfiguration.java:195) 在 winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) 在hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 在 hudson.security.ChainedServletFilter。doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Thread.java :619)processRequest(RequestHandlerThread.java:244) 在 winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) 在 java.lang.Thread.run(Thread.java:619)processRequest(RequestHandlerThread.java:244) 在 winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) 在 java.lang.Thread.run(Thread.java:619)

有没有人有好的解决方案?谢谢。

0 投票
1 回答
915 浏览

ruby - 度量 Fu:RCov 无法加载 spec_helper

我正在尝试在 Rails 3 应用程序上运行 metric_fu。一切都很好,除了rcov。我已经配置了 RSpec,我的测试遵循 spec/**/*.rb 格式并在 RSpec 中运行良好。但是,尝试使用 rcov 检查覆盖率时,出现以下错误:

当我直接运行 rcov 时,问题的一部分似乎是 rcov 没有正确加载我的规范中的 spec_helper,这是“require 'spec_helper'”所必需的。

有关如何解决此问题的任何帮助?谢谢。