Как установить уровни покрытия кода jacoco для модуля в gradle

Я использую gradle 4.3.1 с плагином jacoco, и я могу обеспечить определенный уровень охвата кода в проекте с несколькими модулями. Это отлично работает, когда я устанавливаю элемент CLASS или PACAKAGE, но я не понимаю, как заставить его работать для модуля.

В поисках здесь Я думаю, что я хочу BUNDLE или GROUP, но затем jacoco не ломается, когда я перехожу под покрытие.

Вот пример того, что у меня есть, что работает для обеспечения охвата уровня пакета:

jacocoTestCoverageVerification {
    violationRules {
        rule {
            // should be element = 'BUNDLE' or 'GROUP'? 
            element = 'PACKAGE'

            limit {
                minimum = 0.9
            }
            includes = ['com.mypackage.*']
        }
    }
}

Когда я изменяю значение элемента в BUNDLE, сборка не прерывается независимо от охвата. Опять же, я хотел бы иметь возможность контролировать ожидания на уровне модуля.

Вот моя версия gradle:

------------------------------------------------------------
Gradle 4.3.1
------------------------------------------------------------

Build time:   2017-11-08 08:59:45 UTC
Revision:     e4f4804807ef7c2829da51877861ff06e07e006d

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_40 (Oracle Corporation 25.40-b25)
OS:           Windows 8.1 6.3 amd64

Я предполагаю, что мне не хватает чего-то довольно простого, так как я не думаю, что я первый, кто попытается это сделать. Любая помощь будет оценена!

Ответ 1

Я не очень уверен в этом, но вы можете попробовать добавить счетчик = 'LINE' внутри лимита.

rule {
       element = 'GROUP'

       limit {
           minimum = 0.9
           counter = 'LINE'
       }
...

Кроме того, попробуйте добавить jacocoTestReport для создания отчета об испытаниях, чтобы проверить результат только для целей внутреннего тестирования.

jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("${buildDir}/jacocoHtml")
    }
}

Источник: https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_report_configuration