Ich habe einen Integrationstest Quellordner in gradle wie so ein:Mark Gradle Quellordner als Testquelle in IntelliJ
subprojects {
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.8
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestCompileOnly.extendsFrom integrationTestCompile
integrationTestCompileOnly.extendsFrom testCompileOnly
integrationTestRuntime.extendsFrom testRuntime
}
sourceSets {
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integrationTest/java')
}
resources.srcDir file('src/integrationTest/resources')
}
}
task integrationTest(type:Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
}
}
Für die Durchführung von Tests, das sehr gut funktioniert, aber es verursacht Probleme mit IntelliJ der Inspektionen , die das Verhalten für den Testcode ändern können. IntelliJ erkennt den Quellordner nicht als Testquelle.
Ich habe versucht, sie als solche Zugabe (innen subprojects
):
idea {
module {
testSourceDirs += file('src/integrationTest/java')
}
}
aber, dass überhaupt nicht helfen. Ich habe auch versucht, sie manuell als Testquelle zu markieren (Kontextmenü -> Verzeichnis markieren als -> Testquellen root), aber IntelliJ überschreibt das schnell wieder in das normale Quellverzeichnis.
Wie konfiguriere ich das korrekt in Gradle?
Ich benutze IntelliJ 2016.01.03 und Gradle 2.14.1 auf Ubuntu 16.04
Wie haben Sie Ihre IDEA-Dateien nach Änderungen regeneriert? Das sollte funktionieren (und ich habe es lokal getestet) - versuche $ './gradlew cleanIdea idea' zu starten. – tddmonkey
Ich hätte lieber eine Lösung, bei der Gradle meine Idea-Konfiguration nicht erzeugt, da es auch Nicht-Gradle-Projekte in der dasselbe Repo. – Jorn
@tddmonkey Ihre Lösung erzeugt die richtigen '.iml' Dateien, aber IntelliJ verwendet sie nicht. Weißt du, wie ich es dazu bringe? Das Java-Projekt ist ein Unterordner eines anderen, und dieses ist das Hauptprojekt mit einem Ordner '.idea' für die Konfiguration. – Jorn