Inilah yang berhasil untuk saya sejak Gradle 4.0.
sourceSets {
integrationTest {
compileClasspath += sourceSets.test.compileClasspath
runtimeClasspath += sourceSets.test.runtimeClasspath
}
}
task integrationTest(type: Test) {
description = "Runs the integration tests."
group = 'verification'
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
}
Mulai versi 4.0, Gradle sekarang menggunakan direktori kelas terpisah untuk setiap bahasa dalam kumpulan sumber. Jadi, jika skrip build Anda menggunakan sourceSets.integrationTest.output.classesDir
, Anda akan melihat peringatan penghentian berikut.
Gradle sekarang menggunakan direktori output terpisah untuk setiap bahasa JVM, tetapi build ini mengasumsikan satu direktori untuk semua kelas dari satu set sumber. Perilaku ini sudah tidak digunakan lagi dan dijadwalkan untuk dihapus di Gradle 5.0
Untuk menghilangkan peringatan ini, alihkan saja ke sourceSets.integrationTest.output.classesDirs
. Untuk informasi selengkapnya, lihat catatan rilis Gradle 4.0 .
java/withIntegrationTests
contoh dalam distribusi Gradle lengkap.