Анализ покрытия Sonar Code не суммируется - PullRequest
3 голосов
/ 17 февраля 2012

Возможно, это связано с моим собственным неправильным пониманием того, что в Sonar анализируется, но на уровне компонентов Sonar сообщает о гораздо более высоком проценте покрытия кода, чем то, что представляется возможным, учитывая результаты на уровне пакета. Могу ли я обратить ваше внимание на прикрепленный скриншот ... Смотри: http://i.stack.imgur.com/yCnms.png Есть идеи?

Ответы [ 2 ]

4 голосов
/ 17 февраля 2012

Все зависит от размера классов и того, как они способствуют охвату модуля в целом

  • Если класс А имеет 10 строк кода с охватом 90%, то это 9 строк покрыты
  • Если у класса B было 1000 строк кода с охватом 60%, то это покрыто 600 строк

Общий охват составляет 60,3% (609/1010)

Но если

  • Если у класса А было 10 строк кода с охватом 60%, то это 6 покрытых строк
  • Если класс B имел 1000 строк кода с охватом 90%, то это покрыто 900 строк

Теперь общий охват составляет 89,7% (906/1010)

Затем вы должны принять во внимание, включает ли покрытие для filewatcher также метрики покрытия filewatcher.impl - что, я подозреваю, могло бы быть.

Наконец, вы не упомянули, является ли отображаемое вами число ответвлением / линией или их комбинация, которую подразумевает ссылка, приведенная в комментарии, возможна, если при последнем из-за этих комбинаций моя голова болит. 1023 *

2 голосов
/ 20 февраля 2012

На снимке экрана показано только покрытие кода для пакетов

com.gfs.transportation.transprointegration.filewatcher
com.gfs.transportation.transprointegration.filewatcher.impl

Если покрытие кода для следующих компонентов составляет 100%

com.gfs.transportation.transprointegration
com.gfs.transportation
com.gfs
com

Тогда общее покрытие будет (87,9 + 89,2 +100 + 100 + 100 + 100) / 600, что соответствует 96,183%

Я думаю, что если в пакете нет классов, то охват пакета составляет 100%

...