android - 如何使用 gradle kotlin dsl 设置单元测试 jvmargs

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

我正在尝试使用 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.-all版本验证

关于android - 如何使用 gradle kotlin dsl 设置单元测试 jvmargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001012/

相关文章:

java - 如何将字符串值转换为整数数组列表 - Android

android - 从混淆的 classes.jar 中移除外部库(在 Android Studio/Gradle 中)

java - Android Studio Gradle 未构建示例应用程序

Cordova 构建更改 gradle-wrapper.properties 文件中的 distributionUrl

java - 为Android创建一个 Remote

android - 在 Prespetive、SDK Manager 和 AVD Manager 中看不到 Android。

android - ACTION_MEDIA_BUTTON Intent 的 BroadcastReceiver 在每次 MediaButton 单击时触发两次

android - 在 com.android.build.gradle.internal.api.ApplicationVariantImpl 上找不到属性 'processManifest'

java - 错误 :Connection timed out: connect - Android

android - 如何让 Dagger2 编译器选项工作?