Сценарий ниже не работает для меня.SonarQube: качество покрытия ворот на новый код
я выполнил два анализа t1 и t2, как описано ниже
t1: Код с охватом 13,6% анализируется и отправляется на сервер SonarQube. Здесь я использую /d:sonar.projectDate=2016-11-24 как параметр для сканера. Это 61 строка кода в t1.
t2: Удален параметр даты. Добавлен новый код без покрытия, а также добавлены дублированные строки. Это 158 строк кода в t2. Покрытие снизилось до 3,8%. Это означает, что много кода было введено без ожидаемого покрытия.
Вопросы:
- Почему мой качество ворот до сих пор не подведет? Я использую калибровочные ворота по умолчанию для локального экземпляра. Все, что меньше 80%, должно быть неэффективным.
- Я вижу некоторые другие сообщения, в которых люди говорят, что SCM должен быть включен для этого. Каково было бы отношение? Кто-нибудь знает, как это покрытие на новом коде действительно рассчитано?
- Если я включил «common-cs: InsufficientLineCoverage», тогда качество ворот завершится с ошибкой. Но это не связано с тем, что существует на воротах качества, оно будет следовать за правилом правила, которое по умолчанию составляет 65%.
контекст, где это происходит:
- Локальный экземпляр с заданным по умолчанию профиля и качества Gates
- SonarQube 6,1
- Сканер 2.2.0.24
- C# Plugin 5.5.0.479
Почему не плагин SCM? Я готовил небольшую демонстрацию по функциям sonarqube + sonarlint, которые этого не требовали. Но вместо того, чтобы не плагин SCM, я бы спросил, зачем создавать или создавать зависимость от внешнего плагина, когда у вас уже есть projectDate. Или почему бы не позволить пользователю решить, какой из них использовать? –