Как получить статистику покрытия кода для моего приложения 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, который рекламирует его простое использование для любого вида анализа покрытия.

Другие вопросы по тегам