Как получить статистику покрытия кода для моего приложения Sinatra?
Я написал приложение Sinatra (веб-сайт) и хотел бы собрать информацию о покрытии кода для кода сайта. Я новичок в Ruby, но Google говорит мне, что rcov - это хороший инструмент для покрытия кода. К сожалению, вся информация, которую я могу найти в Интернете, показывает только то, как получить информацию о покрытии кода для тестовых случаев - мне нужна информация о покрытии кода для самого моего сайта.
Конкретные файлы сайта, которые я хочу профилировать, находятся в каталогах "sdk" и "sdk/vendor", поэтому, где я обычно запускаю свой сайт с "ruby site.rb", я вместо этого пробовал следующее:
rcov -Isdk -Isdk/vendor site.rb
Он показывал стартовый текст Sinatra, но затем сразу же завершал работу, вместо того чтобы ждать веб-запросов, как обычно делало мое приложение Sinatra.
Может кто-нибудь сказать мне хитрость запуска моего сайта с включенным покрытием кода? Я хочу запустить сайт, выполнить серию запросов, а затем остановить сайт; после чего я хочу посмотреть статистику покрытия кода из всей серии запросов.
В настоящее время я использую Ruby 1.8.7.
2 ответа
SimpleCov идеально подходит для этого. Если вы используете RSpec и Bundler, настройка очень проста
в вашем файле драгоценного камня
gem 'simplecov'
затем
$ bundle install
В spec/spec_helper.rb (прежде всего)
require 'simplecov'
SimpleCov.start
затем: $ rspec spec
Simplecov генерирует действительно хороший отчет о покрытии по адресу range/index.html
Возможно, вы могли бы взглянуть на SimpleCov, который рекламирует его простое использование для любого вида анализа покрытия.