我想向 Kotlin 项目添加一个额外的“源集”,其中将包含集成测试。我看过一些帖子,讨论如何为普通 Java 项目或 Kotlin 执行此操作,但使用 Groovy 而不是 Kotlin Gradle DSL。
总之,使用 Kotlin Gradle DSL:
- 如何添加一个额外的“源集”,其中可以包含 Kotlin 代码、Java 代码和资源,以便将集成测试与常规单元测试分开?
- 如何添加额外的任务和配置以与单元测试分开运行集成测试?
我希望目录结构看起来像:
src
main
java
kotlin
resources
test
java
kotlin
resources
integration
java
kotlin
resources
Related:
Thanks
首先,创建源集和配置:
sourceSets {
create("intTest") {
compileClasspath += sourceSets.main.get().output
runtimeClasspath += sourceSets.main.get().output
}
}
val intTestImplementation: Configuration by configurations.getting {
extendsFrom(configurations.implementation.get())
}
val intTestRuntimeOnly: Configuration by configurations.getting {
extendsFrom(configurations.runtimeOnly.get())
}
然后,创建任务来运行它们:
val integrationTest = task<Test>("integrationTest") {
description = "Runs integration tests"
group = "verification"
testClassesDirs = sourceSets["intTest"].output.classesDirs
classpath = sourceSets["intTest"].runtimeClasspath
shouldRunAfter("test")
}
此外,您还可以添加新源集要使用的依赖项。例如:
intTestImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
intTestRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)