如何使用 Gradle 运行分类 Junit 测试?

jav*_*999 6 java junit unit-testing test-suite gradle

我的问题与这个问题类似,但它指的是Gradle“不是” Maven

我已使用注释标记了项目中的多个测试@Category,并创建了我的测试套件(见下文)。

如何使用 Gradle 运行它?

测试套件:

@RunWith(Categories.class)
@Categories.IncludeCategory(MyTestSuite.class)
@Suite.SuiteClasses(ClassUnderTest.class)
public interface MyTestSuite {
}
Run Code Online (Sandbox Code Playgroud)

Sta*_*lav 3

我想,根据 JUnit wiki ,你需要这样的东西:

Gradle 的测试任务允许指定您想要包含和排除的 JUnit 类别。

test {
    useJUnit {
        includeCategories 'org.gradle.junit.CategoryA'
        excludeCategories 'org.gradle.junit.CategoryB'
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的配置是全局测试配置的示例,但是您可以创建自定义测试任务来运行特定的测试类别,如下所示:

task customTest(type: Test) {
    useJUnit {
        includeCategories 'some.package.name.MyTestSuite'
    }
}
Run Code Online (Sandbox Code Playgroud)