带RSpec-2的RCov

时间:2010-06-17 03:22:33

标签: rspec rcov

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

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

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

4 个答案:

答案 0 :(得分:7)

尝试传入选项以排除gem目录。或者因为您的运行轨道使用rails标志:

desc  "Run all specs with rcov"
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t|
  t.rcov = true
  t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/,features\/}
end

答案 1 :(得分:4)

如果您碰巧使用Ruby 1.9x,我只需要CoverMe(一个工作在1.9以下的rcov-ish lib)。 Snappy和RSpec开箱即用 - 几乎是一个即插即用的设置。每次运行rake时,它都会默默地执行你的/覆盖范围:spec。我以为我会提到它,因为我在我最前沿的东西上运行1.9.2preview3,如果你正在使用它,你可能遇到1.9个问题。

答案 2 :(得分:2)

我们在工作中使用simplecov,并且发现它简单有效。我发现它比直接修改rspec源更清晰,特别是当你担心CI服务器时。

答案 3 :(得分:0)

想出了这个 -

1)在您喜欢的编辑器中打开〜/ .rvm / rubies // lib / ruby​​ / gems // gems / rspec-rails-2.XXXXX / lib / rspec / rails / tasks / rspec.task。

2)添加此rake任务

desc  “Run all specs with rcov”
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t|
  t.rcov = true
end

一个突出的问题。它在我的rvm安装文件夹和我运行任务时所在的项目中的每个规范上运行rspec。我无法弄清楚如何排除所有这些rvm安装测试。如果有人有想法,请告诉我。

相关问题