Мой текущий Рубин на Rails проекта делает тестирование через rcov (в частности, relevance rcov, и у нас есть довольно высокий уровень (мы не строить, если мы имеем < 95% покрытия кода).изменения покрытия Rcov резко с -xrefs
Мы используем следующую команду, чтобы проверить это:.
rcov_cmd = "rcov --rails --text-summary \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
Сегодня я нашел код, который регистрирует зеленый (бежав) в rcov отчетов Homever, я могу доказать, что этот код не получает пробег (я поднимаю исключение в начале функции, и мои модульные тесты проходят)
Я провел некоторое исследование и нашел флаг -xrefs для rcov, который, как я думал, добавит всех вызывающих абонентов для каждой строки в отчетах rcov.
Я изменил команду rcov на:
rcov_cmd = "rcov --rails --text-summary --xrefs \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
(обратите внимание на добавленный --xrefs
флаг).
Вместо дополнительной информации о вызывающем абоненте, вместо этого у меня есть покрытие для теста от 96% до 48%.
Does --xrefs меняет вид анализа, как делает rcov? (Я думал, что он просто соберет информацию о вызывающем абоненте). Как это отличается/лучше от первой команды? (я видел падение теста покрытия блока, если есть тест неудачи блока, и я знаю, что процент охвата может упасть, если есть ошибка в перспективе, но это выглядит хорошо для меня)
Вы пытались использовать только '--callsites' и no' --xrefs', чтобы определить, действительно ли это информация о входящих вызовах, которая вызывает разницу? Может немного свести проблему. – Shadwell
Я заменил --xrefs и --callsites и увидел такое же падение в охвате теста – RyanWilcox