gpt4 book ai didi

android - 如何将 Kotlin 代码编译到 jvmTarget ="1.8"进行测试

转载 作者:行者123 更新时间:2023-11-30 05:07:27 29 4
gpt4 key购买 nike

在我们的 Android 项目中,我们使用 Kotlin 编码并以 Java 1.6 为目标。但是,由于某些 JUnit5 功能需要它(接口(interface)中的静态方法),我们在测试中被迫使用 java 1.8。

是否可以以不同于生产代码的方式编译测试?

我们试图通过将其添加到我们的 build.gradle 中将 jvmTarget 提高到 1.8:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}

这也提高了生产代码的 jvmTarget,但我们只希望它用于我们的测试。 Docs表明可以像这样为测试指定它:

compileReleaseUnitTestKotlin{
kotlinOptions {
jvmTarget = "1.8"
}
}

很遗憾,build.gradle 无法编译。

最佳答案

Kotlin 文档提到 how to do它仅用于测试。

常规 DSL:

compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}

Kotlin DSL:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

val compileTestKotlin: KotlinCompile by tasks

compileTestKotlin.kotlinOptions.jvmTarget = "1.8"

关于android - 如何将 Kotlin 代码编译到 jvmTarget ="1.8"进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54331113/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com