【问题标题】:How to set unit test jvmargs using gradle kotlin dsl如何使用 gradle kotlin dsl 设置单元测试 jvmargs
【发布时间】:2019-09-18 21:33:57
【问题描述】:

我正在尝试使用 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))
    }

似乎没有任何效果,我错过了什么?

【问题讨论】:

    标签: android gradle android-gradle-plugin gradle-kotlin-dsl


    【解决方案1】:

    我遇到了同样的问题。以下 sn-p 有效。

    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.-all 版本验证

    【讨论】:

      【解决方案2】:

      这个问题有点老了,但想发布一个 2021 年更新的 Kotlin DSL 版本:

      testOptions.unitTests.all { it.jvmArgs("-noverify") }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 1970-01-01
        • 2019-03-25
        • 1970-01-01
        • 2019-02-04
        • 2014-03-02
        • 1970-01-01
        相关资源
        最近更新 更多