properties - Gradle 任务检查是否定义了属性

标签 properties gradle task testng

我有一个执行 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/

相关文章:

android - 如何在Android Gradle项目的项目配置阶段之前定义ANDROID_HOME?

java - 如何正确处理 TextField 绑定(bind)并将节点引用与任务分开

java - Java 中的代理设置

Java,Jboss,如何加载jboss类路径中的属性文件

java - 使用 Gradle 进行本地发布不起作用

java - Gradle 找不到 tools.jar

build - 制作在 Gradle 中返回 bool 值的自定义任务

c# - 任务的延续(由 async/await 构建)在 WPF 应用程序的主线程上运行,但在控制台应用程序的子线程上运行

ruby-on-rails - Rails 中关联的 write_attribute 的等价物是什么?

javascript在函数构造函数中访问 "this"