Metric Fu:RCov 无法加载spec_helper

发布于 2024-09-10 04:51:34 字数 2200 浏览 3 评论 0原文

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

** Running the specs/tests in the [test] environment

No file to analyze was found. All the files loaded by rcov matched one of the
following expressions, and were thus ignored:
[/\A\/Users\/Eric\/\.rvm\/rubies\/ruby\-1\.8\.7\-p299\/lib/,
 /\btc_[^.]*.rb/,
 /_test\.rb\z/,
 /\btest\//,
 /\bvendor\//,
 /\A\/Users\/Eric\/\.rvm\/gems\/ruby\-1\.8\.7\-p299@-backend\/gems\/rcov\-0\.9\.8\/lib\/rcov\/formatters\/base_formatter\.rb\z/,
 /\bvendor\//,
 /\bconfig\//,
 /\benvironment\//,
 /\/gems\//,
 /\/Library\//,
 /\/usr\//,
 /spec/]

You can solve this by doing one or more of the following:
* rename the files not to be ignored so they don't match the above regexps
* use --include-file to give a list of patterns for files not to be ignored
* use --exclude-only to give the new list of regexps to match against
* structure your code as follows:
      test/test_*.rb  for the test cases
      lib/**/*.rb     for the target source code whose coverage you want
  making sure that the test/test_*.rb files are loading from lib/, e.g. by 
  using the -Ilib command-line argument, adding  
    $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
  to test/test_*.rb, or running rcov via a Rakefile (read the RDoc
  documentation or README.rake in the source distribution).
/Users/Eric/.rvm/rubies/ruby-1.8.7-p299/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- spec_helper (LoadError)
    from /Users/Eric/.rvm/rubies/ruby-1.8.7-p299/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from ./spec/models/account_spec.rb:1
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/gems/rcov-0.9.8/bin/rcov:511:in `load'
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/gems/rcov-0.9.8/bin/rcov:511
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/bin/rcov:19:in `load'
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/bin/rcov:19

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

关于如何解决这个问题有任何帮助吗?谢谢。

I am trying to run metric_fu on a Rails 3 application. All is good, with the exception of rcov. I have RSpec configured and my tests follow the spec/**/*.rb format and run fine in RSpec. Trying to check coverage with rcov, however, I get the following errors:

** Running the specs/tests in the [test] environment

No file to analyze was found. All the files loaded by rcov matched one of the
following expressions, and were thus ignored:
[/\A\/Users\/Eric\/\.rvm\/rubies\/ruby\-1\.8\.7\-p299\/lib/,
 /\btc_[^.]*.rb/,
 /_test\.rb\z/,
 /\btest\//,
 /\bvendor\//,
 /\A\/Users\/Eric\/\.rvm\/gems\/ruby\-1\.8\.7\-p299@-backend\/gems\/rcov\-0\.9\.8\/lib\/rcov\/formatters\/base_formatter\.rb\z/,
 /\bvendor\//,
 /\bconfig\//,
 /\benvironment\//,
 /\/gems\//,
 /\/Library\//,
 /\/usr\//,
 /spec/]

You can solve this by doing one or more of the following:
* rename the files not to be ignored so they don't match the above regexps
* use --include-file to give a list of patterns for files not to be ignored
* use --exclude-only to give the new list of regexps to match against
* structure your code as follows:
      test/test_*.rb  for the test cases
      lib/**/*.rb     for the target source code whose coverage you want
  making sure that the test/test_*.rb files are loading from lib/, e.g. by 
  using the -Ilib command-line argument, adding  
    $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
  to test/test_*.rb, or running rcov via a Rakefile (read the RDoc
  documentation or README.rake in the source distribution).
/Users/Eric/.rvm/rubies/ruby-1.8.7-p299/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- spec_helper (LoadError)
    from /Users/Eric/.rvm/rubies/ruby-1.8.7-p299/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from ./spec/models/account_spec.rb:1
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/gems/rcov-0.9.8/bin/rcov:511:in `load'
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/gems/rcov-0.9.8/bin/rcov:511
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/bin/rcov:19:in `load'
    from /Users/Eric/.rvm/gems/ruby-1.8.7-p299@backend/bin/rcov:19

When I run rcov directly, it appears that part of the issue is rcov not correctly loading the spec_helper in my specs, which is required as "require 'spec_helper'".

Any help on how to resolve this? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜清冷一曲。 2024-09-17 04:51:34

将“-Ispec”添加到 Metric-Fu 配置中可以解决此问题。

Adding "-Ispec" to the Metric-Fu configuration fixes this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文