2012-07-19 14 views
18

So qual è la differenza tra copertura di linea e di filiale, ma qual è la differenza tra copertura del codice e copertura della linea? La precedente copertura delle istruzioni?Qual è la differenza tra copertura del codice e copertura della linea in sonar

+0

copertura sembra essere una metrica calcolata, che prende in considerazione la copertura di linea e di ramo. Non riesco a trovare la formula però: D – oers

+0

quindi la domanda. Penso che sia la copertura delle istruzioni in quanto una riga di codice java può avere più istruzioni queste due sono diverse. Forse ci sarà una risposta autorevole qui;) –

+0

fabrice dal sonar vaga questo tag, quindi penso che otterrò qualche informazione :) – oers

risposta

29

La copertura è un sottile ;-) mix della linea e della copertura del ramo.

È possibile trovare la formula sul nostro metric description page:

coverage = (CT + CF + LC)/(2*B + EL) 

where 

CT - branches that evaluated to "true" at least once 
CF - branches that evaluated to "false" at least once 
LC - lines covered (lines_to_cover - uncovered_lines) 

B - total number of branches (2*B = conditions_to_cover) 
EL - total number of executable lines (lines_to_cover) 
+0

fantastico, non sono riuscito a trovare quella pagina tramite google ... grazie! –

+0

Penso che sia necessario aggiornare una parola nel proprio URL per ottenere il seguente URL: http://docs.sonarqube.org/display/SONAR/Metric+definitions#Metricdefinitions-Tests ('sonarqube' invece di' codehaus') –

+1

Infatti, grazie per la notifica! Link aggiornato. –

2

Per espandere sulla risposta, si può solo sonar query per questi termini:

  1. conditions_to_cover
  2. uncovered_conditions
  3. lines_to_cover
  4. uncovered_lines

E allora si può convertirlo nei termini sopra utilizzando queste equazioni:

CT + CF = conditions_to_cover - uncovered_conditions 
2*B = conditions_to_cover 
LC = lines_to_cover - uncovered_lines 
EL = lines_to_cover 

È possibile utilizzare il Sonar di analisi dettagliata o REST API per ottenere i valori delle metriche di cui sopra:

http://my.sonar.com/drilldown/measures/My-Project-Name?metric=line_coverage 

http://my.sonar.com/api/resources?resource=55555&metrics=ncloc,conditions_to_cover,uncovered_conditions,lines_to_cover,uncovered_lines,coverage,line_coverage,branch_coverage,it_conditions_to_cover,it_uncovered_conditions,it_lines_to_cover,it_uncovered_lines,it_coverage,it_line_coverage,it_branch_coverage,overall_conditions_to_cover,overall_uncovered_conditions,overall_lines_to_cover,overall_uncovered_lines,overall_coverage,overall_line_coverage,overall_branch_coverage 

Questo post di blog ha informazioni aggiuntive: http://sizustech.blogspot.com/2015/10/making-sense-of-sonar-qube-stats-like.html

Problemi correlati