gradle测试阶段?

Ste*_*all 4 testing groovy junit gradle

有没有办法在gradle中构建自定义测试阶段?

我有一系列测试,即

/unit
/local
/remote
Run Code Online (Sandbox Code Playgroud)

这是为了几个不同的目的运行JUnit托管测试.我希望能够将这些作为测试阶段运行,例如gradle test:unit,或类似的东西.理想情况下,我还可以为每个测试阶段指定描述,因此gradle tasks描述了每个测试的作用.

这可能吗?如果是这样,怎么样?

我试过这个:

sourceSets {
    unit {
        java.srcDir file('src/test/groovy/local')
        resources.srcDir file('src/local/resources')
    }
}
dependencies {...}
task unitTest(type: Test){
    testClassesDir = sourceSets.local.output.classesDir
    classpath = sourceSets.local.runtimeClasspath
}
Run Code Online (Sandbox Code Playgroud)

...从withIntegrationTests提供的样本中复制,但是当我运行时gradle unitTest,没有测试运行.

Pet*_*ser 5

你只需要添加三个Test任务(testUnit,testLocal,testRemote),并相应配置.(而不是介绍testUnit,您也可以重用testJava插件附带的任务.)如果源位于不同的源文件夹中,添加其他源集也是有意义的.有关详细信息,请查看samples/java/withIntegrationTests完整的Gradle分发.