我有以下测试类。
com.baz.bar.Foo
com.bar.foo.Baz
com.foo.baz.Bar
我想执行com.baz.bar.Foo
和com.bar.foo.Baz
。我知道如何执行所有这些以及如何执行其中一个。我不知道如何执行任何任意设置。
答案 0 :(得分:6)
Gradle支持多个--tests
语句,即:
gradle test --tests com.baz.bar.Foo --tests com.bar.foo.Baz --tests com.foo.baz.Bar
会做你想做的事
答案 1 :(得分:4)
在构建脚本中很容易做到:
test {
filter {
filterTestsMatching "com.baz.bar.Foo", "com.bar.foo.Baz", ...
}
}
等效命令行是gradle test --tests com.baz.bar.Foo
(或只是--tests Foo
),但从我所知道的情况来看,这里只支持一个类(更确切地说是单个模式)。
如果您需要能够传递多个模式,您可以自己编写脚本。例如,您可以通过-Dtest.filter=Foo,Bar,Baz
读取从命令行传递的系统属性,将值拆分为各个部分,然后将其提供给filterTestsMatching
。
增强--tests
以支持以逗号分隔的值可能会为Gradle项目提供良好的拉取请求。