Emi*_*ily 4 ruby ruby-on-rails rcov rspec2 ruby-on-rails-3
在运行rake spec:rcovRails 3应用程序时,spec/目录中的文件将包含在coverage统计信息中,但我不希望它们包含在内.我只想要我的实际应用程序的覆盖率统计.
在较旧版本的RSpec中,可以使用spec/rcov.opts带有该行的文件对其进行自定义,--exclude "spec/*"但似乎Rspec 2不再读取该文件.我尝试创建一个.rcov文件,因为spec/spec.opts更改为.rspec,但是也没有读取.
我在定义rake任务时找到了一些关于如何执行此操作的文档,但我宁愿不覆盖提供的rake任务 - 看起来这必须是其他人试图做的事情.
如何自定义从coverage统计信息中排除的文件?
作为参考,我正在使用的所有相关宝石的版本是:
rails (3.0.5)
rake (0.8.7)
rcov (0.9.9)
rspec (2.5.0,)
rspec-core (2.5.1)
rspec-expectations (2.5.0,)
rspec-mocks (2.5.0)
rspec-rails (2.5.0)
Run Code Online (Sandbox Code Playgroud)
在RSpec-1中,rake任务将从
rcov.opts文件中读取rcov选项.RSpec-2忽略了这一点.RCov选项现在直接在Rake任务上设置:Run Code Online (Sandbox Code Playgroud)RSpec::Core::RakeTask.new(:rcov) do |t| t.rcov_opts = %q[--exclude "spec"] end
检查rspec-rails源代码我发现库定义了:rcov任务,它似乎没有排除rspec文件夹.
desc "Run all specs with rcov"
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t|
t.rcov = true
t.pattern = "./spec/**/*_spec.rb"
t.rcov_opts = '--exclude /gems/,/Library/,/usr/,lib/tasks,.bundle,config,/lib/rspec/,/lib/rspec-'
end
Run Code Online (Sandbox Code Playgroud)
您可能希望删除任务并使用自己的设置重新创建任务或定义新任务.
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |