我正在尝试使用kotlin-dsl设置jvmargs进行单元测试,但无法正常工作。

这样我就可以添加“-noverify”参数,并允许intellji测试运行器收集代码覆盖率信息。

Groovy,工作原理:

testOptions {
        unitTests.all {
            jvmArgs '-noverify'
        }
    }

Kotlin,不起作用:
testOptions {
        unitTests.all(KotlinClosure1<Any, Test>({
            (this as Test).also { jvmArgs("-noverify") }
        }, this))
    }

这个也是:
testOptions {
        unitTests.all(KotlinClosure1<Any, Test>({
            (this as Test).also { jvmArgs = listOf("-noverify") }
        }, this))
    }

似乎什么都没用,我想念什么?

最佳答案

我有同样的问题。以下代码段有效。

tasks.withType<Test>().all {
    jvmArgs("-noverify")
}

引用-https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/Test.html#jvmArgs-java.lang.Object...-

使用Gradle-5.1验证-所有版本

08-15 21:41