我有一个执行 testng 测试套件的 gradle 任务。
我希望能够将标志传递给任务,以便使用特殊的 testng xml 套件文件(或者如果未设置标志,则仅使用默认套件)。
gradle test
应该运行默认的标准测试套件
gradle test -Pspecial
应该运行特殊的测试套件
我一直在尝试这样的事情:
test {
if (special) {
test(testng_special.xml);
}
else {
test(testng_default.xml);
}
}
但是我收到一个未定义的属性错误。解决这个问题的正确方法是什么?
最佳答案
if (project.hasProperty('special'))
应该这样做。
请注意,您正在执行的选择 testng 套件的操作将不起作用,AFAIK:测试任务没有任何
test()
方法。引用 https://discuss.gradle.org/t/how-to-run-acceptance-tests-with-testng-from-gradle/4107对于一个工作示例:test {
useTestNG {
suites 'src/main/resources/testng.xml'
}
}
关于properties - Gradle 任务检查是否定义了属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302232/