我正在尝试配置两个不同的gradle测试任务,这些任务基本上只是设置了一些值,然后运行内置的测试任务。我已经阅读了gradle文档,并且一直在寻找几个小时而没有运气。我猜不知道如何正确地说出这个问题以找到任何东西。
场景是我们可能希望在本地或远程运行selenium测试。如果我们在本地运行它们,我们想要配置它使用的线程数,如果我们远程运行它们,我们想要设置更多的线程数和系统属性,以便测试运行器知道远程运行。
基本上就是我想做的事情:
task testLocal {
maxParallelForks = 2
// now run the built-in test task
}
task testRemote {
maxParallelForks = 4
systemProperties "geb.env": "winxp-firefox"
// now run the built-in test task
}
理想情况下,我还希望能够在命令行上传递测试任务支持的所有相同参数,例如:
gradle testLocal --tests com.domain.tests.package*
使用gradle处理此方案的正确方法是什么?
答案 0 :(得分:2)
处理此问题的正确方法是执行两个Test
任务。您通常使用(并配置)Java插件的test
任务进行本地测试,并另外声明和配置第二个testRemote
任务(task testRemote(type: Test) { ... }
)。 (无法“包装”任务,或从另一个任务“调用”任务。)