0

我正在通过 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 [错误] [system.err] 未知选项:-reporter org.testng.reporters.XMLReporter:stackTraceOutputMethod=0 testng.xml
15:30:36.390 [QUIET] [system.out] 用法:[options] 要运行的 XML 套件文件
  选项:
    -configfailurepolicy 配置失败策略(跳过或
                                       继续)
    -d 输出目录
    -dataproviderthreadcount 运行时使用的线程数
                                       数据提供者
    -excludegroups 逗号分隔的组名列表
                                       排除
.
.
.

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

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

有人可以让我知道正确的方法是什么吗?

谢谢

4

1 回答 1

1

传递多个参数的正确方法是:

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

所以每个参数都放在自己的字符串中。而不是将它们全部以空格分隔。

更新

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

task runTests(type: Test) {
    useTestNG()
    options {
        listeners << '...'
    }
}
于 2012-11-15T13:10:35.797 回答