如何在Gradle任务中配置TestNG Reporter参数

时间:2012-11-15 10:09:00

标签: testng gradle

我正在通过Gradle执行TestNG测试。我想为默认的XMLReporter配置stackTraceOutputMethod的值。

这是我的Gradle任务

// runs test cases using TestNG framework
task runTests(type: JavaExec, dependsOn: classes) {
   main = 'org.testng.TestNG'
   args '-reporter org.testng.reporters.XMLReporter:stackTraceOutputMethod="0" testng.xml'
   classpath configurations.runtime
   systemProperties 'logDir': 'logs'
}

我收到以下错误:

15:30:36.343 [ERROR] [system.err] Unknown option: -reporter org.testng.reporters.XMLReporter:stackTraceOutputMethod=0 testng.xml
15:30:36.390 [QUIET] [system.out] Usage:  [options] The XML suite files to run
  Options:
    -configfailurepolicy               Configuration failure policy (skip or
                                       continue)
    -d                                 Output directory
    -dataproviderthreadcount           Number of threads to use when running
                                       data providers
    -excludegroups                     Comma-separated list of group names to
                                       exclude
.
.
.

我想我提供Java args的方式不正确。

args '-reporter org.testng.reporters.XMLReporter:stackTraceOutputMethod="0" testng.xml'

有人可以告诉我这是做什么的正确方法吗?

由于

1 个答案:

答案 0 :(得分:1)

传递多个args的正确方法是:

args '-reporter','....','testng.xml'

所以每个参数都有自己的字符串。

。而不是将它们全部空格分开。

<强>更新

TestNG实际上很容易在Gradle中配置,我建议您使用以下内容:

task runTests(type: Test) {
    useTestNG()
    options {
        listeners << '...'
    }
}