Могу ли я получить процент покрытия кода от OpenCover
Я использую OpenCover (и ReportGenerator) для проверки покрытия кода в рамках процесса сборки CI.
Возможно ли каким-то образом заставить OpenCover провалить мою сборку, если покрытие не соответствует заданному порогу?
Я огляделся вокруг, но не могу найти способ добиться этого. Могу ли я заглянуть в сгенерированный отчет?
РЕДАКТИРОВАТЬ: Извините, я должен был упомянуть, что я использую сценарии сборки Nant.
1 ответ
Поскольку вы не упомянули, какой у вас CI-сервер или что он использует для сценариев, я отвечу в общих чертах на примере nant.
Если сервер CI имеет возможность выполнять запросы XPath к документу XML, например, в nant, вы можете использовать задачу xmlpeek. Затем вы можете использовать следующий запрос, чтобы получить количество точек последовательности
count(//SequencePoint)
и этот запрос, чтобы получить количество посещенных точек последовательности
count(//SequencePoint[@vc!='0'])
и из этих двух чисел вы можете получить процент, а затем вы можете отменить сборку на основе этого, например, в nant вы можете использовать задачу сбоя.