Testing 使内部声明对Kotlin中的其他模块可见
我有一个Kotlin项目,使用Gradle进行构建/测试。在Kotlin中,您可以将依赖项标记为Testing 使内部声明对Kotlin中的其他模块可见,testing,gradle,kotlin,visibility,Testing,Gradle,Kotlin,Visibility,我有一个Kotlin项目,使用Gradle进行构建/测试。在Kotlin中,您可以将依赖项标记为内部,例如: 内部类MyClass:MyInterface 现在,我还想在Gradle中运行一些与正常的测试任务分离的集成测试,因此我修改了build.Gradle,如下所示: sourceSets { testIntegration { compileClasspath = files(main.output, project.configurations.testComp
内部
,例如:
内部类MyClass:MyInterface
现在,我还想在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()
}
它工作正常,除非我想访问内部声明:
//在我的集成测试中
val instance=factory.buildInstance()
assertTrue(实例为MyClass)//此行编译失败,因为'MyClass'是内部的
翻阅其中提到:
一个渐变源集(,但测试源集可以访问main的内部声明除外)
我如何告诉Gradle新的testIntegration
源代码集也应该能够从main
源代码集中访问internal
声明