RC ов с RSpec-2
Я работаю с небольшим приложением рельсов. Rails 3, RSpec 2, Rspec-Rails2.
Кажется, что RSpec2 не включает в себя задачу rake spec:rcov, которая есть у RSpec 1. (по крайней мере, это еще не там)
Кому-нибудь повезло, запустив rcov с rspec 2 или написав свое собственное грабли для этой работы?
4 ответа
Попробуйте передать опции, чтобы исключить каталог 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
Если вы оказались на Ruby 1.9x, я только что получил CoverMe (библиотека rcov-ish, которая работает под 1.9). Snappy и работает из коробки с RSpec - в значительной степени подключи и играй настройки. Он просто тихо делает ваш материал для покрытия каждый раз, когда вы запускаете rake:spec. Думаю, я бы упомянул об этом, так как я запускаю 1.9.2preview3 на своем новейшем материале, и, возможно, вы столкнетесь с некоторыми проблемами 1.9, если будете его использовать.
Мы используем simplecov на работе, и находим это легко и эффективно. Я считаю, что это более чистое решение, чем непосредственное изменение исходного кода rspec, особенно когда у вас есть проблемы с CI-серверами.
Придумали это -
1) Откройте ~/.rvm/rubies//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. Если у кого-то есть идея, пожалуйста, дайте мне знать.