有没有办法在 gradle 中构建自定义测试阶段?
我有一系列的测试,即
/unit
/local
/remote
它正在为几个不同的目的运行 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
}
...从提供的示例中的 withIntegrationTests
复制,但是当我运行 gradle unitTest
时,没有测试运行。
最佳答案
您只需要添加三个Test
任务(testUnit
、testLocal
、testRemote
)并进行相应的配置. (除了引入 testUnit
,您还可以重用 Java 插件附带的 test
任务。)如果源位于不同的源文件夹中,添加也很有意义额外的源集。有关详细信息,请查看完整 Gradle 分发版中的 samples/java/withIntegrationTests
。
关于testing - gradle 测试阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004950/