Могу ли я получить процент покрытия кода от OpenCover

Я использую OpenCover (и ReportGenerator) для проверки покрытия кода в рамках процесса сборки CI.

Возможно ли каким-то образом заставить OpenCover провалить мою сборку, если покрытие не соответствует заданному порогу?

Я огляделся вокруг, но не могу найти способ добиться этого. Могу ли я заглянуть в сгенерированный отчет?

РЕДАКТИРОВАТЬ: Извините, я должен был упомянуть, что я использую сценарии сборки Nant.

1 ответ

Решение

Поскольку вы не упомянули, какой у вас CI-сервер или что он использует для сценариев, я отвечу в общих чертах на примере nant.

Если сервер CI имеет возможность выполнять запросы XPath к документу XML, например, в nant, вы можете использовать задачу xmlpeek. Затем вы можете использовать следующий запрос, чтобы получить количество точек последовательности

count(//SequencePoint)

и этот запрос, чтобы получить количество посещенных точек последовательности

count(//SequencePoint[@vc!='0'])

и из этих двух чисел вы можете получить процент, а затем вы можете отменить сборку на основе этого, например, в nant вы можете использовать задачу сбоя.

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