Одной из причин запуска тестов и покрытия по отдельности является то, что для измерения покрытия необходимо изменить программу для поддержки сбора информации о покрытии.
В Java и Jacoco, и Cobertura изменят байт-код файлов классов, чтобы добавить инструкции кзапись покрытия.В C ++, чтобы использовать GCov для измерения покрытия, вы компилируете двоичные файлы с флагами, отличными от тех, которые используются для создания двоичных файлов релизов.
Поэтому имеет смысл запускать тесты с артефактами выпуска, чтобы получить уверенность в том, что артефакты выпускаведут себя правильно.Затем для измерения покрытия в отдельном прогоне по инструментальным артефактам.
Конечно, можно предположить, что артефакты с включенным покрытием будут функционально эквивалентны артефактам выпуска.Поэтому запуск тестов дважды не требуется.Это зависит от вашего (и ваших компаний) отношения к риску, и вы можете выполнить тесты дважды (с покрытием и без покрытия) или один раз с включенным покрытием.