Плагин JaCoCo Gradle исключает

Я хочу исключить некоторые классы из JaCoCo, но исключение, похоже, не работает.

Например, я хочу исключить все классы Java, которые заканчиваются на Dao (например, com.company.EmplyeeDao).

Я пробовал следующий код, но он все еще появляется, когда я нажимаю его на сонар/использую JacocoTestReport.

test {
    jacoco {
        append = true
        destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
        classDumpFile = file("$buildDir/jacoco/classpathdumps")
        excludes = ['*Dao']
}
}

Я использую это в сочетании с Android. Что происходит?


person user1226868    schedule 20.05.2014    source источник
comment
Возможно, попробуйте некоторые варианты, такие как *Dao.class или **/*Dao.class.   -  person Peter Niederwieser    schedule 21.05.2014
comment
также см. это решение для градиента: stackoverflow.com/a/43196918/907576   -  person radistao    schedule 15.06.2018


Ответы (2)


Попробуйте что-то вроде этого:

excludes: ['**/Dao*.class']

Но, как я понимаю, это исключит класс из jacoco, но отчет, который создает Jacoco, покажет вам «0% покрытия»: https://issues.gradle.org/browse/GRADLE-2955

person Juan Saravia    schedule 22.09.2014
comment
Как я понимаю, да. В выпуске gradle один человек исключает библиотеки Yahoo и Google. - person Juan Saravia; 30.09.2014
comment
Разве это не исключает классы, которые НАЧИНАЮТСЯ со слова Дао? Вопрос был для классов, которые ЗАКАНЧИВАЮТСЯ на Дао. Должен ли фильтр быть «**/*Dao.class»? - person mikhail; 11.03.2015
comment
это правда, что вы сказали, но нет файла Dao.class для исключения, классы похожи на DaoProfile.class, DaoManager.class и т. д. Вот почему я использую Dao*.class. - person Juan Saravia; 12.03.2015

Для более новой версии gradle (6+) используйте это:

jacocoTestCoverageVerification {
    violationRules {
        rule {
            includes = ['com/myapp/*']
            excludes = [
                    'com/myapp/folderToExclude1/*',
                    'com/myapp/folderToExclude2/*',
            ]
           limit {
                minimum = 0.85
            }
        }
    }
}
person Celt    schedule 12.02.2021