Eu tenho um projeto android com Gradle 5.1.1 Eu quero usar JaCoCo para gerar relatórios HTML sobre a cobertura de código de teste. Tentei seguir as instruções em alguns artigos, mas todas as minhas tentativas levou a erros.
Tudo o que funcionou para mim é a aplicação de plug-in 'jacoco' (Projeto edificada com sucesso depois disso).
apply plugin: 'jacoco'
Mas assim que eu adicionar tarefa 'jacocoTestReport', Gradle pode não sincronizar com arquivos e eu recebo este erro.
Essa é a minha tarefa:
jacocoTestReport {
reports {
html.enabled true
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}}
Esse é o meu erro:
ERROR: Could not find method jacocoTestReport() for arguments [build_8kqk7qvpoocfxfydulk1p4m35$_run_closure3@1aba12a5] on project ':app' of type org.gradle.api.Project.
Eu tentei usar "compilar limpa gradlew" após a adição de "Aplicar plugin" em 'build.gradle'. Autor do tutorial adicionado com sucesso tarefa e usou essa linha no terminal para obter relatório jacoco:
gradlew build jacocoTestReport
Aqui está links para artigos i usados para compreender como adicionar jacoco ao projeto:
https://reflectoring.io/jacoco/
https://android.jlelse.eu/get-beautiful-coverage-reports-in-your-android-projects-ce9ba281507f
Então, minha pergunta é: Existe uma maneira de adicionar Jacoco ao Projeto Android com Gradle? O que estou fazendo de errado?
Pode ser apenas uma pasta cópia faltando, mas certifique-se de definir a sua função como uma tarefa em Gradle, ou seja: tarefa jacocoTestReport (tipo: JacocoReport, DependsOn: [ 'testDebugUnitTest']) {
I seguido este blog para definir o meu exemplo Jacoco em meus projetos iniciais e se bastante útil. https://engineering.rallyhealth.com/android/code-coverage/testing/2018/06/04/android-code-coverage.html