Chr*_*iss 5 android gradle kotlin android-gradle-plugin junit5
在我们的 Android 项目中,我们使用 Kotlin 进行编码并以 java 1.6 为目标。然而,我们在测试中被迫使用 java 1.8,因为一些 JUnit5 功能需要它(接口中的静态方法)。
是否可以以不同于生产代码的方式编译测试?
我们试图通过将其添加到我们的 build.gradle 中来将 jvmTarget 提高到 1.8:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
这也会提高生产代码的 jvmTarget,但我们只需要它用于测试。文档表明可以这样指定测试:
compileReleaseUnitTestKotlin{
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的build.gradle是无法编译。
Kotlin 文档仅提及如何进行测试。
Groovy DSL:
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
Run Code Online (Sandbox Code Playgroud)
科特林 DSL:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val compileTestKotlin: KotlinCompile by tasks
compileTestKotlin.kotlinOptions.jvmTarget = "1.8"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2843 次 |
| 最近记录: |