RCов с RSpec-2 - PullRequest
       49

RCов с RSpec-2

7 голосов
/ 17 июня 2010

Я работаю с небольшим приложением рельсов. Rails 3, RSpec 2, Rspec-Rails2.

Кажется, что RSpec2 не включает в себя задачу rake spec: rcov, которую имеет RSpec 1. (по крайней мере, его пока нет)

Кому-нибудь повезло, запустив rcov с rspec 2 или написав собственное задание на рейк, чтобы сделать эту работу?

Ответы [ 4 ]

7 голосов
/ 27 июля 2010

Попробуйте передать опции, чтобы исключить каталог gem.Или, так как ваши бегущие рельсы используют флаг рельсов:

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
4 голосов
/ 19 августа 2010

Если вы оказались на Ruby 1.9x, я только что получил CoverMe (библиотека rcov-ish, которая работает под 1.9).Snappy и работает из коробки с RSpec - в значительной степени подключи и играй настройки.Он просто тихо делает ваш материал для покрытия каждый раз, когда вы запускаете rake: spec.Думаю, я бы упомянул об этом, так как я запускаю 1.9.2preview3 на своем новейшем материале, и, возможно, вы столкнетесь с некоторыми проблемами 1.9, если будете его использовать.

2 голосов
/ 20 августа 2012

Мы используем simplecov на работе, и считаем это простым и эффективным.Я считаю, что это более чистое решение, чем непосредственное изменение исходного кода rspec, особенно если у вас есть проблемы с CI-серверами.

0 голосов
/ 18 июня 2010

Придумали это -

1) Откройте ~ / .rvm / рубины // lib / ruby ​​/ gems // gems / rspec-rails-2.XXXXX / lib / rspec / rails / tasks /rspec.task в вашем любимом редакторе.

2) Добавьте эту задачу с граблями

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

Одна нерешенная проблема.он запускает rspec для каждой спецификации в моей папке установки rvm и в проекте, в котором я нахожусь, когда я запускаю задачу.Я не могу понять, как исключить все эти тесты установки rvm.Если у кого-то есть идея, пожалуйста, дайте мне знать.

...