Получение тестового сбоя при выполнении тестового задания gradle и пользовательских задач IntegrationTest в многомодульном проекте - PullRequest
0 голосов
/ 28 января 2020

Я настроил задачу gradle для интеграции, как прикрепленный источник. Обе задачи test и integrationTest работают нормально при выполнении по отдельности, но при совместном выполнении, например, ./gradlew clean check или ./gradlew clean test integrationTest не удается integrationTest во время фазы compileIntegrationTestGroovy с ошибкой unable to resolve class....

Просмотр * Каталог 1010 * указывает, что после выполнения задачи test удаляются все сгенерированные основные и тестовые классы.

Есть ли способ отключить удаление классов после test или другие альтернативы для решения проблемы.

sourceSets {
    'integration-test' {
        compileClasspath += sourceSets.main.output
        runtimeClasspath += sourceSets.main.output

        java.srcDir(file('src/integration-test/java'))
        groovy.srcDir(file('src/integration-test/groovy'))
        resources.srcDir(file('src/integration-test/resources'))
    }
}

configurations {
    integrationTestImplementation.extendsFrom(testImplementation)
    integrationTestRuntimeOnly.extendsFrom(testRuntimeOnly)
}

task integrationTest(type: Test) {
    description = 'Executes integration tests'
    group = 'verification'

    testClassesDirs = sourceSets.'integration-test'.output.classesDirs
    classpath = sourceSets.'integration-test'.runtimeClasspath

    beforeTest { descriptor ->
        logger.lifecycle("Running test: ${descriptor}")
    }

    mustRunAfter(test)
}

check.dependsOn(integrationTest)

Результат ./gradlew :app-core:clean :app-core:check --dry-run. app-core находится под проектом root. :app-core:compileIntegrationTestGroovy шаг завершается неудачно, когда :app-core:check фактически выполняется.

:app-core:clean SKIPPED
:app-core:compileJava SKIPPED
:app-core:compileGroovy SKIPPED
:app-core:processResources SKIPPED
:app-core:classes SKIPPED
:app-core:compileTestJava SKIPPED
:app-core:compileTestGroovy SKIPPED
:app-core:processTestResources SKIPPED
:app-core:testClasses SKIPPED
:app-core:test SKIPPED
:app-core:compileIntegrationTestJava SKIPPED
:app-core:compileIntegrationTestGroovy SKIPPED
:app-core:processIntegrationTestResources SKIPPED
:app-core:integrationTestClasses SKIPPED
:app-core:integrationTest SKIPPED
:app-core:check SKIPPED
...