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

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

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

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

require 'simplecov'
SimpleCov.start

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

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


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


Ответы (1)


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

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

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

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

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

person vgoff    schedule 12.05.2013
comment
Я использую SimpleCov, но в основном логика такая же. Спасибо за ответ - person eytanfb; 13.05.2013