为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Kotlin Gradle DSL 向 Kotlin 项目添加集成测试

使用 Kotlin Gradle DSL 向 Kotlin 项目添加集成测试

翻阅古今 2021-08-19 17:31:06
我想向包含集成测试的 Kotlin 项目添加一个额外的“源集”。我看过一些帖子,他们谈论为 vanilla Java 项目或 Kotlin 做这件事,但使用 Groovy 而不是 Kotlin Gradle DSL。总之,使用 Kotlin Gradle DSL:如何添加一个额外的“源集”,它可以包含 Kotlin 代码、Java 代码和资源,以便将集成测试与常规单元测试分开?如何添加额外的任务和配置以将集成测试与单元测试分开运行?我希望目录结构看起来像:src   main      java      kotlin      resources   test      java      kotlin      resources   integration      java      kotlin      resources
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

首先,创建源集和配置:


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")


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信