2017-08-25 2 views
0

Das ist mein Gradle Skript:Führen Sie einzelne Testsuite mit Gradle Java

test{ 
    include 'com.foo.MainTestSuite' 
    testLogging.showStandardStreams = true 
} 

Und das ist mein com.foo.MainTestSuite

@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
     NetworkTestSuite.class, 
     DataBaseTestSuite.class 
}) 
public class MainTestSuite { 

    @BeforeClass 
    public static void setup(){ 
     System.out.println("BeforeClass MainTestSuite"); 
    } 

    @AfterClass 
    public static void tearDown(){ 
     System.out.println("AfterClass MainTestSuite"); 
    } 
} 

Und ich Gradle dann so über die Kommandozeile ausführen:

./gradlew clean test 

Es wurden jedoch keine Tests ausgeführt. Wenn ich die include entferne, dann laufen alle meine Tests aber mehr als einmal, da sie auch aus der Testsuite heraus verlinkt sind.

Was ist falsch an meinem Gradle-Skript, warum wird die MainTestSuite nicht ausgeführt?

Antwort

1

Versuchen Sie, Teststrecke in build.gradle auf die folgende Veränderung:

test{ 
    filter{ 
     includeTestsMatching 'com.foo.MainTestSuite' 
    } 
    testLogging.showStandardStreams = true 
} 

, die genau zur Folge haben wird, was Sie

Bitte beachten Sie die Gradle Test Filtering Dokumentation für weitere Details

wollen
Verwandte Themen