如何在build.gradle中为“测试”任务类型配置自定义TestNG侦听器

时间:2019-04-24 21:48:33

标签: gradle testng

我正在尝试为“测试”任务类型配置一组自定义TestNG侦听器。

我可以为单个测试目标设置它们,但我想将其移动到build.gradle,以便所有“测试”任务都将接收此配置。

TestTarget:

task testTarget(type: Test) {
    useTestNG() {
        useDefaultListeners = false
        reports.html.enabled = false
        listeners << 'CustomListener1'
        listeners << 'CustomListener2'
        listeners << 'CustomListener3'
    }
}

build.gradle

tasks.withType(Test.class) { Test testTask ->
    testTask.useTestNG()

    TestNGOptions options = testTask.getOptions()

    Set<String> listeners = new HashSet<String>()
    listeners.add("CustomListener1")
    listeners.add("CustomListener2")
    listeners.add("CustomListener3")

    // Option 1
    options.setListeners(listeners)

    // Option 2
    testTask.options.setListeners(listeners)

    // Option3
    testTask.options.listeners.add("CustomListener1")
    testTask.options.listeners.add("CustomListener2")
    testTask.options.listeners.add("CustomListener3")

}

当我执行testTarget时(注释掉testTarget任务中的测试侦听器之后),我的自定义侦听器不会被选中。以上三个选项似乎都不起作用。

任何建议都会很有帮助。

谢谢

0 个答案:

没有答案