Vra*_*ent 5 testing visibility gradle kotlin
我有一个使用 Gradle 进行构建/测试的 Kotlin 项目。在 Kotlin 中,您可以将依赖项标记为internal,例如:
internal class MyClass : MyInterface
Run Code Online (Sandbox Code Playgroud)
现在,我还想test在 Gradle 中运行一些与正常任务分开的集成测试,因此我修改了build.gradle,如下所示:
sourceSets {
testIntegration {
compileClasspath = files(main.output, project.configurations.testCompileClasspath)
runtimeClasspath = files(testIntegration.output, main.output, project.configurations.testRuntimeClasspath)
}
}
task testIntegration(type: Test) {
group = "Verification"
description = "Integration tests"
testClassesDirs = sourceSets.testIntegration.output.classesDirs
classpath = sourceSets.testIntegration.runtimeClasspath
useTestNG()
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,除非我想访问内部声明:
sourceSets {
testIntegration {
compileClasspath = files(main.output, project.configurations.testCompileClasspath)
runtimeClasspath = files(testIntegration.output, main.output, project.configurations.testRuntimeClasspath)
}
}
task testIntegration(type: Test) {
group = "Verification"
description = "Integration tests"
testClassesDirs = sourceSets.testIntegration.output.classesDirs
classpath = sourceSets.testIntegration.runtimeClasspath
useTestNG()
}
Run Code Online (Sandbox Code Playgroud)
浏览Kotlin 文档,它提到:
Gradle 源集(测试源集可以访问 main 的内部声明除外);
我如何告诉 Gradle 新的testIntegration源集也应该能够访问源集中的internal声明main?
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |