Я настроил задачу 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