2015-05-18 12 views
5

Nel nostro codice, ci sono un sacco di frammenti di registrazione in questo modo:Come ignorare i blocchi di codice nell'analisi della copertura del codice Sonar?

if(logger.isDebugEnabled()) { 
    logger.debug("...") 
} 

E 'possibile configurare SonarQube in modo che blocchi tale codice non sono inclusi nelle analisi di copertura del codice? Scrivere test per coprire tali dichiarazioni di debug non sembra avere molto senso ...

ho trovato il modo di:

  • ignorare interi file da analisi di copertura
  • ignorano le questioni in blocchi di codice

Ma non ho trovato un modo per escludere un blocco di codice dall'analisi della copertura.

risposta

0

Ho anche affrontato lo stesso problem.Rather ignorarlo ho utilizzare secondo due tecniche

1) Mock Questi Logger L'utilizzo di qualsiasi Mocking quadro ad esempio Mockito, Powermockito, PowerMock etc.Use stesso codice Mocking Attraverso classi di test laddove applicabile

2) Conservare logback-test.xml (o registrare il file di configurazione per qualsiasi framework di registrazione utilizzato) nel percorso classe e impostare Lower Log Level come Trace.So consentire alle classi di test di caricare il logger per stampare queste istruzioni.

Questo aiuterà a mostrare dettagli su come i casi di test che eseguono la dichiarazione di affermazione