Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Использование SimpleCov в проекте Ruby

Автор вопроса: eytanfbОтветов: 1

Я пытаюсь использовать драгоценный камень simplecov в проекте Ruby. Однако я потерпел неудачу с треском. Вот что я сделал до сих пор.

Структура моего проекта: ProjectFolder - lib - test

У меня есть тесты в тесте и исходный код в lib. Я создал test_helper.rb в тестовом каталоге и добавил следующее.

require 'simplecov'
SimpleCov.start

Затем я добавляю `require 'test/test_helper.rb' в каждый тестовый файл. Случилось так, что иногда создавался какой-то отчет, а иногда нет. И когда это произошло, это было непоследовательно.

Все учебники, которые я нашел, были для Rails, поэтому я снова обращаюсь к StackOverflow, чтобы показать мне путь.

  • У вас есть это выше любых других требований? Вы также выполняете все тесты, чтобы получить отчет, который вы ищете? Если вы запускаете отдельные тесты, он будет отслеживать только те строки, которые покрыты этим тестом, так что в этом нет ничего удивительного. vgoff 13.05.2013
  • хорошо, я думаю, что первая часть была важна. У меня это было в самом низу требований. Наконец-то я создал набор тестов, чтобы все тесты выполнялись вместе, и это сработало. Спасибо. если вы можете написать это как ответ, я приму это. eytanfb 13.05.2013

rubyunit-testingcode-coverage

Ответы

Ответ 1 · рейтинг 4 · vgoff

Rcov/SimpleCov будет сообщать только о покрытии выполненных тестов.

Для отчета о полном покрытии вы должны убедиться, что полный набор тестов запущен как последний тест, чтобы построить отчет о полном покрытии.

Вы также захотите убедиться, что это первое требование в вашем файле test_helper.rb.

Из документации:

Примечание. Если SimpleCov запускается после того, как код вашего приложения уже загружен (через требование), он не сможет отслеживать ваши файлы и их охват! SimpleCov.start должен быть выпущен до того, как потребуется какой-либо код вашего приложения!

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы