Настройте jacocoTestReport для чтения нескольких файлов .exe c в качестве входных данных. - PullRequest
0 голосов
/ 07 апреля 2020

В моей сборке Gradle у меня есть 2 тестовые задачи, такие как:

task testAAA(type: Test) {
    filter {

        includeTestsMatching "*AAA*"
    }

    finalizedBy jacocoTestReport
}

и

task testBBB(type: Test) {
    filter {

        includeTestsMatching "*BBB*"
    }

    finalizedBy jacocoTestReport
}

Это создает 2 .exe c файла в сборке / jacoco:

  • testAAA.exe c

  • testBBB.exe c

Я хочу создать один отчет о покрытии, который принимает входные данные из ОБА / ВСЕХ файлов .exe c, я попробовал это:

jacocoTestReport {
    executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")

    reports {
        xml.enabled true
    }

}

Когда я пытаюсь это получить, я получаю эту ошибку:

Execution failed for task ':Project1:jacocoTestReport'.
> Unable to read execution data file Project1/build/jacoco/test.exec

Project1/build/jacoco/test.exec (No such file or directory)

Почему jacocoTestReport ищет "test.exe c", когда я явно предоставил спецификацию executeData?

1 Ответ

0 голосов
/ 09 апреля 2020

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

Так что-то вроде:

jacocoTestReport {
    executionData tasks.withType(Test)

    reports {
        xml.enabled true
    }
}
...