运行 单个测试套件 Gradle Java

Run single testsuite with Gradle Java

这是我的 Gradle 脚本:

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

这是我的 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");
    }
}

然后我通过命令行执行 Gradle:

./gradlew clean test

但是没有进行任何测试运行。如果我删除 include 那么我所有的测试 运行 但不止一次,因为它们也是从测试套件链接的。

我的 Gradle 脚本有什么问题,为什么 MainTestSuite 没有被执行?

尝试将 build.gradle 中的测试部分更改为以下内容:

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

这将得到您想要的结果

请参阅 Gradle Test Filtering 文档了解更多详情