Sto cercando di ottenere Gradle (2.1) e IntelliJ (14.0.2) per riprodurre correttamente. Nello specifico, ho importato un progetto Gradle di esempio contenente un set sorgente separato per i test di integrazione in IntelliJ.Sorgente personalizzata impostata in Gradle importata in IntelliJ 14
Il progetto si integra utilizzando Gradle sulla riga di comando e sono in grado di eseguire correttamente i test di integrazione. D'altra parte, quando si esegue all'interno di IntelliJ, ho due problemi:
1) La compilazione all'interno di IntelliJ non riesce, a causa di una dipendenza nel test di integrazione a una libreria di terze parti (commons-collections) che non riesce a risolvere.
2) Se rimuovo la dipendenza sopra e compile, non sono in grado di eseguire il test di integrazione in IntelliJ. Ottengo il seguente messaggio di errore:
strutturaNo tests found for given includes: [org.gradle.PersonIntegrationTest.canConstructAPersonWithAName]
Il file è simile al seguente:
src
integration-test
java
resources
main
java
resources
test
java
resources
build.gradle
E build.gradle:
apply plugin: 'java'
repositories {
mavenCentral()
}
sourceSets {
integrationTest {
java.srcDir file('src/integration-test/java')
resources.srcDir file('src/integration-test/resources')
}
}
dependencies {
testCompile 'junit:junit:4.11'
integrationTestCompile 'commons-collections:commons-collections:3.2'
integrationTestCompile sourceSets.main.output
integrationTestCompile configurations.testCompile
integrationTestCompile sourceSets.test.output
integrationTestRuntime configurations.testRuntime
}
task integrationTest(type: Test, dependsOn: jar) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
systemProperties['jar.path'] = jar.archivePath
}
check.dependsOn integrationTest
Tutte le idee su come fare questo lavoro sarebbe molto apprezzato.
Il progetto completo di esempio Gradle è disponibile nella distribuzione Gradle, sotto Samples/java/withIntegrationTests
Grazie, ma non posso farlo funzionare. Ottengo il seguente errore: Impossibile trovare la proprietà 'generateSourceDirs' su org.gradle.plugins.ide.idea.model.IdeaModule_Decorated. Inoltre, dovrei aggiungere una configurazione di integrationTest affinché funzioni. – Daniel
L'ultima frase nel mio commento precedente doveva terminare con un punto interrogativo, cioè dovrei aggiungere una configurazione 'integrationTest' perché funzioni? – Daniel