2015-02-04 1 views
6

Mit IntelliJ IDEA 14.0.2 habe ich ein Java-Projekt importiert. Wir haben ein sourceSet und eine Konfiguration eingerichtet, um Integrationstests von Komponententests zu trennen. (Unsere Integrationstests sind im Testquellbaum, aber in ihrem eigenen Paket). Relevante Bits aus dem build.gradle sind:Wie leite ich Integrationstests aus dem IntelliJ-Kontextmenü für das Großprojekt aus?

sourceSets { 
    test { 
    java { 
     exclude '**/it/**' 
    } 
    } 

    integTest { 
    java { 
     srcDir 'src/test/java' 
     include '**/it/**' 
    } 
    resources { 
     srcDir 'src/test/resources' 
    } 
    compileClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime 
    runtimeClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime 
    } 
} 

configurations { 
    integTestCompile.extendsFrom testCompile 
    integTestRuntime.extendsFrom testRuntime 
} 

idea { 
    module { 
    scopes.TEST.plus += [ configurations.integTestCompile ] 
    } 
} 

task integTest(type: Test) { 
    testClassesDir = sourceSets.integTest.output.classesDir 
    classpath = sourceSets.integTest.runtimeClasspath 
} 

Dieses von der Kommandozeile funktioniert gut. Wenn ich jedoch die Quelle eines Integrationstests in IntelliJ öffne und mit der rechten Maustaste klicke, um IntelliJ auszuführen, startet IntelliJ die Task "test" anstelle der Task "integTest". Wie bekomme ich IntelliJ, um die richtige Aufgabe zu starten?

Alternativ, wie kann ich den Test Task delegieren auf eine andere Aufgabe basierend auf den Inhalt des "--tests" arg?

+0

Ich kämpfe mit genau dem gleichen Problem. Hast du irgendeine Lösung gefunden? Vielen Dank! – Sergio

+0

Noch nicht. Ich hatte drängendere Probleme, deshalb ist diese jetzt im Hintergrund. – AndyL

+0

Scheint immer noch ein Problem zu sein, ich habe genau die gleiche Situation, mit Intellij 2017.3.3. https://intellij-support.jetbrains.com/hc/en-us/community/posts/206174789-How-to-run-integration-tests-from-context-menu-for-gradle-project- –

Antwort

0

Klicken Sie mit der rechten Maustaste auf den Test der Datei und Sie sollten eine Menüoption für Create Run Configuration > sehen. Wählen Sie im Dialogfeld die Option Tasks. Ändern Sie das in integTest und klicken Sie auf OK. Ab diesem Zeitpunkt müssen Sie den Test möglicherweise über das Menüsystem und nicht über das Kontext-System ausführen. d. h.

Verwandte Themen