Pav*_*tam 4 groovy gradle kotlin
我有带有 Kotlin 插件的 gradle 项目。
在我的项目中,我使用 groovy 和 Spock 进行测试。用 Kotlin 编写的测试中使用的实用程序类之一,我把它放在 src/test/kotlin
我正在尝试从 groovy 测试(Spock 规范)中使用这个类,我看到“compileTestKotlin”任务首先运行并编译我的实用程序类,但“compileTestGroovy”仍然失败,因为它没有看到它。
我该如何解决这种情况?如何将 build/classes/kotlin/test/ 添加到 groovy 测试的编译类路径?
问题是默认情况下compileTestGroovy不包含build/classes/kotlin/test文件夹,因此无法从 Groovy 测试中看到您的 Kotlin util 类。
为了修复它,您可以手动将 Kotlin 测试源添加到compileTestGroovy的类路径。将以下内容添加到您的build.gradle:
compileTestGroovy.classpath += files(compileTestKotlin.destinationDir)
Run Code Online (Sandbox Code Playgroud)
如果您的构建文件是build.gradle.kts,请添加以下内容
// make groovy test code depend on kotlin test code
tasks.named<GroovyCompile>("compileTestGroovy") {
classpath += files(tasks.compileTestKotlin)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |