web-dev-qa-db-fra.com

Qu'est-ce qui remplace une extension obsolète JaCoCo dans Gradle?

J'utilise Robolectric et JaCoCo ensemble. Mes rapports de couverture de code ne fonctionnent pas sans les lignes de code suivantes dans le script Gradle:

 testOptions {
    unitTests.all {
        jacoco {
            includeNoLocationClasses = true
        }
    }
 }

Mais dans la version récente de Gradle, l'extension JaCoCo, que j'utilise ici, est marquée comme obsolète. Je n'ai pu trouver aucun remplaçant pour cela. Alors, où devrais-je appliquer l'option includeNoLocationClasses = true?

10
Lingviston

J'ai trouvé une solution. JaCoCo ajoute automatiquement l'extension jacoco à toutes les tâches de type test. Donc, tout ce que je devais faire était d’ajouter les lignes suivantes dans le script de construction:

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true
}

Cela ne ressemble pas à une solution officielle, mais cela permet à l'implémentation personnalisée JacocoReport de fonctionner correctement.

2
Lingviston