Para instrumentar um projeto Java usando Gradle no SonarQube e forçar a coleta de testes unitários via JaCoCo, você precisa seguir alguns passos. Vou te guiar por um processo básico:
-
Configuração do Gradle: Primeiro, certifique-se de que seu projeto Gradle esteja configurado para usar o JaCoCo para relatórios de cobertura de código e o plugin do SonarQube para análise de código.
-
Adicione o Plugin JaCoCo: No seu arquivo
build.gradle
, adicione o plugin JaCoCo para habilitar a geração de relatórios de cobertura de teste:plugins { id 'java' id 'jacoco' id 'org.sonarqube' version '3.3' // Use a versão mais recente compatível }
-
Configure o JaCoCo: Configure o JaCoCo para criar relatórios de cobertura de código. Isso pode ser feito dentro do bloco
jacocoTestReport
:jacocoTestReport { reports { xml.enabled true html.enabled true } }
-
Adicione o Plugin SonarQube: Certifique-se de que o plugin SonarQube esteja configurado no seu arquivo
build.gradle
. Você já adicionou a dependência no passo 2, agora configure o servidor SonarQube e outros parâmetros necessários:sonarqube { properties { property 'sonar.projectName', 'NomeDoProjeto' property 'sonar.projectKey', 'nome.do.projeto' property 'sonar.host.url', 'http://localhost:9000' // URL do seu servidor SonarQube property 'sonar.login', 'seu_token_de_autenticacao' property 'sonar.java.binaries', 'build/classes/java/main' property 'sonar.java.test.binaries', 'build/classes/java/test' property 'sonar.jacoco.reportPaths', 'build/jacoco/test.exec' property 'sonar.coverage.jacoco.xmlReportPaths', 'build/reports/jacoco/test/jacocoTestReport.xml' } }
-
Execute os Testes e a Análise SonarQube: Após configurar o projeto, execute os testes unitários e gere o relatório de cobertura do JaCoCo. Depois, execute a análise do SonarQube:
Para gerar relatórios de cobertura de teste e executar a análise SonarQube, você pode usar os seguintes comandos Gradle na linha de comando:
./gradlew test jacocoTestReport sonarqube
Isso executará os testes unitários, gerará relatórios de cobertura de código com JaCoCo e, em seguida, executará a análise SonarQube usando as informações de cobertura e outras métricas.
-
Verifique os Resultados no SonarQube: Após a execução do comando, verifique os resultados no SonarQube acessando a URL do seu servidor SonarQube. Você verá as métricas de qualidade do código do seu projeto, incluindo a cobertura de testes.
Lembre-se de que esses passos são um guia básico. Dependendo das especificidades do seu projeto e da configuração do seu ambiente, talvez seja necessário ajustar algumas configurações. Garanta também que você esteja usando as versões mais recentes dos plugins e do Gradle para evitar problemas de compatibilidade.